要約

  • RFC 3648 は順序をコレクション状態として扱うが、同一親内 MOVE には位置維持と削除後追加の二方式を許し、後者は Position がなければ末尾になる。
  • DeltaV で戻るのは順序型と版管理メンバーの順序であり、非版管理メンバーはサーバー定義である。完全な前後列と表示面の観測が別途必要になる。

RFC 3648 の有順序コレクションでは、PROPFIND は定められた順序に従う。内部メンバーはそれぞれ一度だけ現れ、非メンバーは入らない。無順序コレクションには列挙の再現性がない。この差により、順序は画面側の飾りではなくサーバーが保持し観測できる状態になる。

ところが同じ親の中で MOVE する場合、仕様は二つの実装を認める。単純な改名なら位置を維持できる。削除して追加する実装なら、新規メンバー規則に従い、Position がないと末尾へ入る。テキスト版 は将来、実装経験を踏まえて差を縮める可能性に触れる。現行仕様から特定製品の挙動を推定してはならない。

順序はコレクションに属し、アクセス URI が違っても同じコレクションなら同じである。ロックとアクセス制御の対象でもある。一つのコレクションが持てる順序は一つであり、同じ資源に複数の並びを与えるには複数コレクションが要る。RFC 5842 の複数バインディングは、資源の同一性と各コレクションの状態を切り分ける助けになる。

DAV:ordering-type は保護プロパティである。DAV:custom は順序の存在だけを示し、意味の互換性までは示さない。DAV:unordered は反復可能な列を約束しない。ordering-type の URI を自動取得すると、多数のクライアントを標的へ向けるおそれがあるため、仕様は解決を要求しない。URI は意味の名前であり、呼び出すサービスではない。

Position は first、last、before、after を表し、IANA HTTP Field Name Registry に登録されている。参照 segment は現在の別メンバーでなければならない。権限とロックも必要であり、RFC 3744 のアクセス制御層を、位置指定だけで越えることはできない。

ORDERPATCH は文書順に命令を処理し、全件適用か全件不適用にし、失敗時は前状態へ戻す。ただし、その原子性は一回のサーバー処理に限られる。順序意味を変更しつつ一部メンバーを省略すると、指定メンバーが先に並び、残りの相対順序はサーバーが決める。成功と完全決定は同義ではない。

直接の読戻しは Depth: 1 PROPFIND である。Depth: infinity は各コレクションの局所順序を保ちながら子孫を交ぜ得るので、単一の全体列ではない。基礎となった RFC 2518 は RFC 4918 に置き換えられたが、応答コードと利用者画面の間には依然として観測が要る。

版管理境界は RFC 3253 の DeltaV と交差する。RFC 3648 は、コレクション版に順序型と版管理メンバーの順序を記録し、UPDATE または MERGE で復元する。一方、非版管理メンバーの位置はサーバー定義である。復元受領だけを残すと、混在コレクションの最終列が欠落する。

対応機能は任意である。OPTIONS、ordered-collections 適合性クラス、Allow、ライブプロパティを対象コレクションごとに確認する。RFC 5689 は MKCOL の本文を拡張するが、拡張本文を受け付けることと要求した順序の適用は別の事実である。

RFC 7232 と RFC 9110 の条件付き要求は、実装が有効な validator を公開する場合に役立つ。RFC 3648 自体は順序専用の版番号やダイジェストを定義しない。運用証拠には、何の validator がどの状態を守ったかを実装事実として残す。

segment 用語は RFC 2396 に由来し、一般 URI 構文は RFC 3986 が更新した。before/after の segment は現在の構成員に対する操作項であって、恒久識別子でも権限証票でもない。

規格の来歴は Datatracker、RFC Editor 情報、履歴、正誤表 で確認できる。これらは現行配備の挙動を測るものではない。

Heng Lu の実行コード優先、最小初期仕様、現実層を適用すると、規格、実装、サーバー観測、表示、利用者経験は別層になる。仕様の許容幅を、復元結果や利用者結果の断定へ変えてはならない。

保存すべき記録は、コレクション ID と URI、ordering-type、完全な前列、機能、ACL とロック、MOVE/ORDERPATCH 本文、Position と参照 segment、応答、Depth: 1 後列、版管理対象の集合、利用可能な validator、最終表示列である。復元の緑色表示だけでは、この結合を代替できない。