PROPPATCH

要求メソッド PROPPATCH (HTTP)

[26] PROPPATCH は、資源の特性の変更や削除を指示する要求メソッドです。

仕様書

意味

[4] PROPPATCH メソッドは、要求URLによって識別される資源の特性を設定したり、削除したりすることを求めるものです >>3。

[13] 安全なメソッドではありませんが、冪等メソッドです >>3。

[2] 書き込みロックの適用対象となります >>1。

構文

[8] 要求の payload body は、 propertyupdate 要素でなければなりません >>3。

[19] DAV: 名前空間の propertyupdate 要素は、資源の特性を変更する要求を含めるもの >>18 です。

[20] 内容は要素内容で、 remove 要素や set 要素の1つ以上の列です >>18。

  1. +
    1. |
      1. remove
      2. set

[24] 要素の順序は処理の順序を表します。

処理

[5] WebDAV に従う資源は、 PROPPATCH メソッドおよび要素 propertyupdate、set、 remove に対応しなければなりません >>3。

[6] このメソッドの処理は、アクセス制御の制約の対象となります >>3。

[7] WebDAV に従う資源は、任意の死特性の設定に対応するべきです >>3。

[9] 鯖は、 propertyupdate 要素の子要素を文書順に処理しなければなりません >>3, >>25。

[10] 要求に含まれる指示はすべて実行するか、どれも実行しないかのいずれかでなければなりません。 処理途中でエラーが発生したら、実行済みの処理はすべて戻してエラーを返さなければなりません。 >>3

[22] 特性を変更しても、 Last-Modified: ヘッダーに使う値は更新するべきではありません >>21。

[11] 要求の payload body に従って処理を開始した場合 (そこまででエラーとならなかった場合) には、 207 応答を返さなければなりません >>3。

[14] propstat 要素の status 要素では、クライアントは任意の 2xx、 3xx、4xx、5xx 状態符号に対応できるべきですが、特に 200、 403、409、424、 507 を用います >>3。

[27] 設定や削除が成功したら、 200 を使うことができます >>3。

[15] 保護された特性を変更しようとして 403 エラーとなった場合には、 事前条件符号 cannot-modify-protected-property を指定するべきです >>3, >>23。

[28] その他何らかの理由で変更を拒否する時も、 403 を使うことができます >>3。

[29] 値が当該特性の意味的に正しくない時は、 409 を使うことができます >>3。

[30] 値を保存するストレージ容量に問題がある時は、 507 を使うことができます >>3。

[17] ある命令が失敗したら、残りの命令も 424 で失敗することになります >>16, >>3。

[12] PROPPATCH 要求への応答はキャッシュ不可能です >>3。

歴史

[32] RFC 3253 - Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning) () https://tools.ietf.org/html/rfc3253#section-3.12

[34] RFC 4316: Datatypes for Web Distributed Authoring and Versioning (WebDAV) Properties, https://www.rfc-editor.org/rfc/rfc4316.html#section-4

[33] RFC 4791 - Calendaring Extensions to WebDAV (CalDAV) () https://tools.ietf.org/html/rfc4791#section-5.2.10

[31] RFC 8144 - Use of the Prefer Header Field in Web Distributed Authoring and Versioning (WebDAV) () https://tools.ietf.org/html/rfc8144#section-2.2