[30] MOVE
メソッドは、対象資源を他の URL
へと移動させるものです。
[17] MOVE
メソッドは、
資源を複製 (COPY
メソッド相当) し、
一貫性維持処理を行い、
元の資源を削除する一連の動作を単一の操作として実行することを求めるものです >>8。
[16] ここで一貫性維持処理とは、 移動に伴い発生する更新処理で、 元の資源を識別する要求URL以外の URL をすべて新しい資源を指すように変更するものです >>8。
[9] Destination:
ヘッダーを指定しなければなりません >>7, >>8。
[23] WebDAV コレクションにおいては、 Depth: inifinity
以外の値を指定してはなりません >>8。
[11] WebDAV に従う資源は MOVE
メソッドに対応しなければなりません。
しかし資源を移動できる保証はありません。 >>8
[40] 終点資源が異なるシステムなどの理由で移動できない時は、
502
応答を返すことができます >>8。
[37] 始点と終点が同じ資源だった場合には、 403
応答を返すことができます >>8。
[38] 終点資源を作る前に中間のコレクションをいくつか作らないといけないときには、
409
応答を返すことができます。
WebDAV 鯖は中間のコレクションを自動的に作ってはなりません。 >>8
[10] 要求URLによって識別される資源が始点、
Destination:
ヘッダーの URL によって識別される資源が終点です >>7, >>8。
[22] 始点資源が WebDAV コレクションの場合、要求に
Depth: infinity
が指定されたかのように処理しなければなりません >>8。
[21] 始点資源が WebDAV コレクションの場合、
Depth: infinity
は始点資源を終点に移動すると共に、
その内部メンバーURLをその相対的な位置へと
(コレクション階層すべてにわたり) 再帰的に移動します >>8。
[15] 終点に既に資源が存在していれば、 Overwrite: T
の場合には DELETE
メソッドで Depth: inifinity
が指定された場合のように終点資源を削除しなければなりません。 >>8
[26] 終点に既に資源が存在しており、 Overwrite: F
の場合には、 412
応答を返して要求の処理は失敗しなければなりません >>8, >>31。
[24] 要求の Destination:
以外のヘッダーは、
複製する各資源に対して適用しなければなりません >>7, >>8。
[25] コレクションのメンバーの移動時には、 Destination:
ヘッダーの URL 自体ではなく、コレクションの階層内の位置に応じた値を使います
>>7, >>8。
[27] WebDAV コレクションの移動完了後には始点および終点において一貫したURL名前空間を作っていなければなりません。 内部のコレクションの移動中にエラーが発生した時は、 そのコレクションのメンバーの資源を移動してはなりません (つまりその部分木を飛ばすこととなります)。それによって名前空間が一貫しなくなることがあります。 しかしエラーの検出後にも元の移動操作をできる限り完了させようと試みるべきです (エラーになっていない部分木は複製しようと試みるべきです)。 またコレクション以外の資源の複製でエラーが発生した時も、 できるだけ移動するよう試みるべきです。 >>8
[18] 生特性は資源と共に移動して新しい資源の特性となるべきですが、
必ずしも同じ値である必要はありません。値の存在・不存在が意味を持つ場合には、
移動後に特性が存在しなくなることもあり得ます。 >>8
生特性が移動によって元通り機能しなくなるであろう場合には、
要求の処理を失敗して 409
応答で事前条件符号
preserved-live-properties
を返しても構いません >>8, >>43。
資源の作成時の生特性をすべてリセットするのは適切ではありません >>8。
[19] 例えば DAV:creationdate
は元の値のままとするべきです >>8。
[20] 死特性は資源と共に移動しなければなりません >>8。
[39] 始点資源か終点資源がロックされている場合には、 423
応答を返すことができます。その場合事前条件符号
lock-token-submitted
>>42 を含めるべきです。 >>8
[4] 移動元が書き込みロックされていても、このロックは移動してはなりません >>3。
[34] 移動に成功して新しい資源が作成された際には、 201
応答を返します >>8。
3xx
を返してはなりません >>33。
[35] 移動に成功して既存の URL に書き込まれた際には、 204
応答を返します >>8。
[28] WebDAV コレクションの移動中に要求URL以外の移動でエラーが発生した場合には、
207
応答により、失敗した資源の URL
とエラーを記述して返さなければなりません >>8。
[36] いくつかの資源がロックにより移動できなかったなら、
207
応答内で 423
を使うことができます >>8。
[49] RFC 2518 では propertybehavior
要素 >>48
を要求の payload body の根要素として使っていました。
RFC 4918 では削除されています。
[46] RFC 8144 - Use of the Prefer Header Field in Web Distributed Authoring and Versioning (WebDAV) () <https://tools.ietf.org/html/rfc8144#section-3.1>
[47] RFC 3253 - Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning) () <https://tools.ietf.org/html/rfc3253#section-3.15>
[50] RFC 3253 - Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning) () <https://tools.ietf.org/html/rfc3253#section-5.8>
[51] RFC 3253 - Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning) () <https://tools.ietf.org/html/rfc3253#section-6.6>
[52] RFC 3253 - Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning) () <https://tools.ietf.org/html/rfc3253#section-9.7>
[53] RFC 3253 - Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning) () <https://tools.ietf.org/html/rfc3253#section-13.9>
[54] RFC 3253 - Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning) () <https://tools.ietf.org/html/rfc3253#section-14.7>
[55] RFC 3744 - Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol () <https://tools.ietf.org/html/rfc3744#section-7.3>
[56] RFC 3744 - Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol () <https://tools.ietf.org/html/rfc3744#section-7.4>
[57] RFC 4791 - Calendaring Extensions to WebDAV (CalDAV) () <https://tools.ietf.org/html/rfc4791#section-5.3.2.1>
[58] RFC 5842 - Binding Extensions to Web Distributed Authoring and Versioning (WebDAV) () <https://tools.ietf.org/html/rfc5842#section-2.5>
Overwrite:
ヘッダーが省略された場合の既定値はT
です >>31。