[47] PROPFIND
は、資源の特性を取得する要求メソッドです。
[7] PROPFIND
は、対象資源の特性を取得するものです。
対象資源がコレクションである場合には、それに加えてコレクションのメンバーの特性も取得することができます。 >>6
[9] PROPFIND
要求には、 Depth:
ヘッダーの値
0
、1
、infinity
のいずれかを指定しなければなりません >>6。
[11] 要求の payload body は、根要素 propfind
を使った XML文書とすることができます >>6。
[16] 要求の payload body は、空にもできます >>6。
[36] DAV:
名前空間の propfind
要素は、返すべき特性を指定するものです >>35。
[37] 内容は要素内容で、 propname
要素、
allprop
要素、 prop
要素のいずれかを含められます。 allprop
要素を含める時は、 include
要素も含められます。
>>35 順序は意味を持ちません >>42。
[13] prop
要素によって特性の名前を列挙することで、
指定した特性の値を要求できます >>6。
[38] この prop
要素は特性の値を含んではなりません
>>35。
[14] DAV:
名前空間の allprop
要素は、
当該資源に存在するすべての死特性と RFC 4918 で定義されるすべての生特性の名前と値を返すよう指定するものです >>6, >>28。
この要素は、空要素です >>28。
[29] DAV:
名前空間の include
要素は、更に生特性を加えて要求するものです >>6。
[32] include
要素の子要素は、
応答に含めるべき特性の名前を表すもの
(特性名要素) でなければなりません >>30。
順序は意味を持ちません >>42。
[15] DAV:
名前空間の propname
要素は、当該資源で定義されている特性の名前の一覧のみを要求するものです
>>6, >>39。特性の値は要求しません。この要素は空要素です >>39。
[1] HTCPCP では、対象が珈琲一杯なら、
その沸かした珈琲に関するメタ・データが
PROPFIND
method を使って得られます >>3。
[8] WebDAV に従う資源は、 PROPFIND
メソッド、
propfind
要素およびその中で使われる各要素に対応しなければなりません >>6。
[10] WebDAV に従う資源は、 Depth:
ヘッダーの値として
1
と 0
に対応しなければならず、
infinity
にも対応するべきです。
Depth:
ヘッダーが無い場合は infinity
とみなすべきです。 >>6
[26] しかし実際上は性能や保安上の理由で infinity
への対応を無効としても構いません >>6。その場合 403
応答で事前条件符号 propfind-finite-depth
を指定するべきです >>6, >>40。
[41] propfind-finite-depth
要素の内容は空です >>40。
[5] 複数のパスセグメントから単一の資源への写像が存在する場合、 そのうちの1つのパスセグメントだけを一貫して選んで返さなければなりません >>4。
[12] 鯖は、 prop
要素で特性が指定された順序を無視して構いません >>6。
[17] 鯖は、空の payload body が指定された場合は allprop
要素が指定されたとみなさなければなりません >>6。
[19] 鯖は、指定された特性を取得しようとした結果の
multistatus
要素を含む
text/xml
または application/xml
の応答を返せなければなりません >>6。
[21] コレクションに対する要求の場合、multistatus
要素は、
コレクションのうち Depth:
で指定された範囲のメンバーURL
それぞれについての response
要素を含まなければなりません
>>6。 WebDAV に適合しない資源についての response
要素を含むべきではありません >>6。
順序は意味を持ちません >>6。
[22] response
要素は、資源の URL
を含む href
要素を含めなければなりません >>6。
[23] 特性はアクセス制御の対象となっているかもしれませんが、
allprop
と propname
の要求の場合には、
特性の存在を知る権限がない特性については黙って除外して構いません >>6。
[20] 特性の取得時にエラーが発生した場合は、その旨を応答に含めなければなりません。 >>6
[27] 各特性は propstat
要素に含めますが、
propstat
要素は各特性についての status
要素を含みます。クライアントはその値として任意の 2xx
、
3xx
、4xx
、5xx
の状態符号を扱えるように準備するべきですが、
200
、401
、403
、404
がよく使われます。 >>6
[52] 特性が存在することや、値を正しく取得できたことを 200
によって示すことができます >>6。
[50] 特性が適切な認証のもとでしか表示できないときは、
401
を使うことができます >>6。
[49] 特性が認証に関わらず表示できない時には、 403
を使うことができます >>6。
[48] 指定された特性が存在しなかった場合は、
状態符号 404
を含めなければなりません。 >>6
[44] 要求の XML文書の要素の構造が仕様通りでなかった場合の動作は明確に規定されているわけではありませんが、
仕様書の例示によれば、 allprop
と
propname
の両方が指定されている時は、 400
応答を返さなければなりません >>43。
[24] PROPFIND
メソッドの結果はキャッシュ可能なこともありますが、
ほとんどの特性は検証の仕組みがありませんから、注意する必要があります >>6。
[54] RFC 3253 - Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning) () https://tools.ietf.org/html/rfc3253#section-3.11
[55] RFC 3253 - Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning) () https://tools.ietf.org/html/rfc3253#section-8.6
[56] RFC 3648 - Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol () https://tools.ietf.org/html/rfc3648#section-8
[57] RFC 3744 - Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol () https://tools.ietf.org/html/rfc3744#section-5
[63] RFC 4316: Datatypes for Web Distributed Authoring and Versioning (WebDAV) Properties, https://www.rfc-editor.org/rfc/rfc4316.html#section-5
[58] RFC 4331 - Quota and Size Properties for Distributed Authoring and Versioning (DAV) Collections () https://tools.ietf.org/html/rfc4331#section-2
[59] RFC 4437 - Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources () https://tools.ietf.org/html/rfc4437#section-13
[60] RFC 5323 - Web Distributed Authoring and Versioning (WebDAV) SEARCH () https://tools.ietf.org/html/rfc5323#section-2.3.2
[61] RFC 5323 - Web Distributed Authoring and Versioning (WebDAV) SEARCH () https://tools.ietf.org/html/rfc5323#section-5.5.3
[62] RFC 5842 - Binding Extensions to Web Distributed Authoring and Versioning (WebDAV) () https://tools.ietf.org/html/rfc5842#section-2.6
[53] RFC 8144 - Use of the Prefer Header Field in Web Distributed Authoring and Versioning (WebDAV) () https://tools.ietf.org/html/rfc8144#section-2.1
allprop
要素が指定されたものとみなされます >>6。