
(해석 또는 이해가 잘못된 부분이 있다면 댓글로 편하게 알려주세요.)

Exclusive Write Locking : Lock을 가진 owner가 쓰기 권한 독점 -> 충돌이 발생할 만한 잠재적인 위험 제거Shared Write Locking : 그룹 단위로 리소스의 쓰기 권한 소유 -> 각각의 author가 교집합 없이 서로 다른 역할을 가지고 있는 경우 적합한 방식<locktype> : lock 유형 (write)<lockscope> : exclusive or shared 명시<owner> : 현재 락을 소유한 사용자가 누구인지 지정<locktoken> : URI scheme에서 락을 식별하기 위한 토큰<depth> : 클라이언트 요청에 포함된 Depth 헤더의 값 (디렉토리 depth)<timeout> : 락의 유효시간LOCK /ch-publish.fm HTTP/1.1
Host: minstar
Content-Type: text/xml
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)
Content-Length: 201
<?xml version="1.0"?>
<a:lockinfo xmlns:a="DAV:">
<a:lockscope><a:exclusive/></a:lockscope>
<a:locktype><a:write/></a:locktype>
<a:owner><a:href>AuthorA</a:href></a:owner>
</a:lockinfo>HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Fri, 10 May 2002 20:56:18 GMT
Content-Type: text/xml
Content-Length: 419
<?xml version="1.0"?>
<a:prop xmlns:a="DAV:">
<a:lockdiscovery><a:activelock>
<a:locktype><a:write/></a:locktype>
<a:lockscope><a:exclusive/></a:lockscope>
<a:owner xmlns:a="DAV:"><a:href>AutherA</a:href></a:owner>
<a:locktoken><a:href>opaquelocktoken:*****</a:href></a:locktoken>
<a:depth>0</a:depth>
<a:timeout>Second-180</a:timeout>
</a:activelock></a:lockdiscovery>
</a:prop>
204 No Content 상태코드 반환424 Failed Dependency 상태코드 반환live properties : 동적으로 수정 가능한 속성dead properties : 정적인 속성PROPFIND와 PROPPATCH 메서드를 추가함<allprop> : 반환할 모든 속성의 이름 -> 모든 속성과 그 속성의 값을 얻기 위해 <propfind> element에 <alldrop>을 포함하거나 본문 없이 요청을 전송해야 한다<propname> : 반환할 일부 속성의 이름 집합<prop> : <propfind>의 서브 요소 -> 구체적인 속성과 값을 명시하는 요소<multistatus> : 여러 개의 응답을 포함하기 위한 컨테이너<href> : 리소스의 URI를 식별하기 위한 요소<status> : 특정 요청의 HTTP 상태 코드를 포함하는 요소<propstat> : 한 <status> 요소와 <prop> 요소를 그룹핑하는 요소PROPFIND /ch-publish.fm HTTP/1.1
Host: minstar.inktomi.com
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)
Depth: 0
Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 0HTTP/1.1 207 Multi-Status
Server: Microsoft-IIS/5.0
...........
<?xml version="1.0"?>
<a:multistatusxmlns:b="urn:uuid:********/" xmlns:c="xml:" xmlns:a="DAV:">
<a:response>
<a:href>http://minstar/ch-publish.fm </a:href>
<a:propstat>
<a:status>HTTP/1.1 200OK</a:status>
<a:prop>
<a:getcontentlength b:dt="int">1155</a:getcontentlength>
......................
......................
<a:ishidden b:dt="boolean">0</a:ishidden>
<a:iscollection b:dt="boolean">0</a:iscollection>
</a:prop>
</a:propstat>
</a:response></a:multistatus>propertyupdate : 수정할 모든 속성을 담는 컨테이너set : 설정할 속성값을 명시하는 요소, 한 개 이상의 <prop> 서브 요소를 포함 (이미 속성값이 존재하는 경우 덮어쓴다)remove : 삭제할 속성값을 명시하는 요소, <prop> 서브 요소에 속성명만 포함<d:propertyupdate xmlns:d="DAV:" xmlns:o="http://name-space/scheme/">
<d:set>
<d:prop>
</d:prop>
</d:set>
<o:owner>Author A</o:owner>
<d:remove>
<d:prop>
<o:owner/>
</d:prop>
</d:remove>
</d:propertyupdate>