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 メソッドおよび要素 propertyupdatesetremove に対応しなければなりません >>3

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

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

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

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

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

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

[14] propstat 要素status 要素では、クライアントは任意の 2xx3xx4xx5xx 状態符号に対応できるべきですが、特に 200403409424507 を用います >>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