html 코딩하고, FTP 를 통해 웹서버에 콘텐츠를 올렸다는데..
요즘은 여러 개발자가 동시에 작업하고 배포하니까..
일단 마이크로갓프트에서 대표 웹 배포 도구인 FP, FPSE 를 만들었다.
가장 대표적인 마이크로소프트의 웹 개발 및 배포 도구인 FrontPage(FP)는 "어디서든 배포한다"라는 전략
FPSE(FrontPage Server Extentions)라는 서버측 소프트웨어와 함께 사용된다.
FP클라이언트와 FPSE 사이에서 배포 프로토콜이 사용된다.
FP 배포 프로토콜은 POST request 위에 RPC계층을 추가하였는데, 이 프로토콜 구현을 통해
FP 클라이언트가 서버로 명령을 내려 웹개발자들이 문서를 갱신하거나, 검색하거나 혹은 공동 작업을 가능하게 해주었다.
우선 통신을 시작하기에 앞서 클라이언트는 서버에 있는 FPSE 패키지 일부의 위치와 이름을 알아내야한다.
클라이언트는 GET요청을 보내 이 정보를 서버로부터 얻는다. (FPShtmlScriptUrl, FPAuthorScriptUrl 등과 관련된 값을 저장)
이 정보를 바탕으로 클라이언트는 Request 메시지를 작성할 수 있게 되었다. 아래는 예시 요청문이다.
WebDAV = Web Distributed Authoring and Versioning
= 공동 작업과 버저닝 관리에 대한 협업 관리 기술이다.
마찬가지로 HTTP를 확장하는 방식으로 구현되었는데, HTTP에 추가하는 메서드들을 살펴보면 아래와 같다.
PROPFIND : 리소스의 속성을 읽음
PROPPATCH : 하나 이상의 리소스에 대해 하나 이상의 속성 설정
LOCK : 하나 이상의 리소스를 잠금
UNLOCK : 하나 이상의 리소스를 잠금 해제
HTTP는 요청과 응답 정보를 헤더에 담아 보내게 되는데, 이는 요청 하나에 여러 개의 리소스가 존재할 때 사용하는 데에 있어 한계가 있다.
따라서 구조화(structured)된 데이터를 담을 때 사용하는 XML을 지원하는데, 주로 아래와 같은 용도로 사용된다.
WebDAV는 HTTP/1.1 프로토콜의 확장으로서 HTTP 및 XML 뿐만 아니라 텍스트, 그래픽, 스프레드시트 및 모든 기타 형식을 포함하는 모든 유형의 웹 리소스에 대해 저작 지원을 제공하는 새로운 HTML 메소드 및 헤더를 추가합니다.
WebDAV로 실행할 수 있는 작업에는 다음과 같은 것들이 있습니다.
등록정보(메타 데이터) 조작. WebDAV 메소드 PROPFIND 및 PROPPATCH를 사용하여 저작자 및 작성 날짜와 같은 웹 페이지에 대한 정보를 만들고 제거, 쿼리할 수 있습니다.
컬렉션 및 리소스 관리. WebDAV 메소드 GET, PUT, DELETE 및 MKCOL을 사용하여 문서 세트를 만들고 계층적 구성원 목록(파일 시스템의 디렉토리 목록과 유사)을 검색
잠금. WebDAV를 사용하여 한 사람 이상이 동시에 한 문서에서 작업하지 못하도록 할 수 있습니다. WebDAV 메소드 LOCK 및 UNLOCK을 사용하여 exclusive 또는 shared 잠금을 사용함으로써 "업데이트 유실"(변경 사항 겹쳐쓰기) 문제를 방지할 수 있습니다.
이름 공간 작업. WebDAV를 통해 WebDAV 메소드 COPY 및 MOVE를 사용하여 웹 리소스를 복사 및 이동하도록 서버에게 지시할 수 있습니다
https://www.youtube.com/watch?v=lO22a85Bwx0
WebDAV의 메서드는 요청과 응답 관련 정보를 모두 잘 다루어야 한다. 하지만 헤더에만 정보를 담아 전송하는 것은 하나의 요청에 있는 여러 개의 리소스나 계층 관계에 있는 리소스들에 대한 정보를 헤더에 선택적으로 기술하기 어려운 점 등 한계가 있다.
WebDAV는 이 문제를 해결하려고 XML(Extensible Markup Language)을 지원한다. WebDAV는 XML을 다음과 같은 용도로 사용한다.
데이터를 어떻게 처리할 것인지 설명하는 명령 포맷
서버의 복잡한 응답을 표현하는 데 사용하는 포맷
콜렉션과 리소스를 처리하는 데 사용하는 커스텀 정보 포맷
데이터 자체를 표현할 수 있는 유연한 포맷
WebDAV는 현재 많은 브라우저에서 지원되고 있다고 한다.