[31] 207 は、複数の資源に対する処理の結果の応答を1つにまとめたものを表す状態符号です。
[6] 207 応答は、複数の資源があって複数の状態符号が適切であろう場合にその情報を伝えるものです >>5。
[9] 207 は 2xx、すなわち成功に分類されてはいますが、
含まれる個々の結果は成功とは限らず、部分的な成功だったり、失敗だったりします >>5。
[17] 207 応答では Location:
ヘッダーを使うと URL の解釈が曖昧になる >>5 として、
その用法は意図的に未定義 >>5 とされています。
[7] 既定の payload body は text/xml または
application/xml で、 multistatus
要素が根要素であるものです >>5。
[10] DAV: 名前空間の
multistatus 要素は、
根要素として使用して >>5 複数の応答を束ねるもの >>20 で、
要素内容 >>20 として0個以上の response
要素 >>5, >>20 と省略可能な responsedescription 要素
>>20 を含むことができます。
[12] 各 response 要素 >>5 および
responsedescription 要素の順序は任意です。 >>5, >>22
[11] response 要素は各資源についての情報を含めたものであり、
それぞれの資源を識別する href 要素を含まなければなりません >>5。
[13] response 要素にはその他に status
要素か propstat 要素を含めます >>5。
[1] 応答中で用いる URL については構文上の制約があります。
[14] status 要素は、 href 要素で指定された資源について操作を実行した結果の状態を示します >>5。
[15] ここで使う状態符号は要求メソッドの定義で明示的に規定されていることもありますが、 クライアントはそれ以外であっても HTTP の規則に従って処理できなければなりません >>5。
[16] propstat 要素は、 PROPFIND
や PROPPATCH で使用します >>5。
href 要素で指定された資源の個々の特性についての情報を表します >>5。
[8] response 要素内では 2xx,
3xx, 4xx, 5xx
の状態符号を使います。 1xx は使うべきではありません。
>>5
[24] 207 応答 / multistatus
要素は、 PROPFIND 要求に対する応答で使われます >>23。
[26] 207 応答 / multistatus
要素は、 PROPPATCH 要求 >>25 や
DELETE 要求 >>27、
COPY 要求 >>28、
MOVE 要求 >>29、
LOCK 要求 >>30
に対する応答で使うことがあります。
[32] 理論上は WebDAV 以外でも使えるはずですが、実際には WebDAV
以外で使われるところは見たことがありません。全体としては成功とみなして
200 で実行状況詳細を説明した JSON を返したり、
全体として失敗と考えて 400 などを返したりするものと思われます。
(どちらが適切かは応用によって違いそうです。)
The 207 (Multi-Status) status code provides status for multiple independent operations (see section 11 for more information).
207 (複数状態) 状態符号は、複数の独立の操作に対する状態を提供します。
The default 207 (Multi-Status) response body is a text/xml or application/xml HTTP entity that contains a single XML element called multistatus, which contains a set of XML elements called response which contain 200, 300, 400, and 500 series status codes generated during the method invocation. 100 series status codes SHOULD NOT be recorded in a response XML element.
既定の 207 (複数状態) 応答本体は
text/xml 又は application/xml
の HTTP 実体本体で、 multistatus という単一の XML
要素を含んでおり、その要素は response
という XML 要素の集合で、この要素は method
の呼び出しの過程で生成された 200,
300, 400, 500
の系列の状態符号を含みます。 100
系列の状態符号は record XML 要素中に記録するべきではありません。
- Name
multistatus- Namespace
DAV:- Purpose
- Contains multiple response messages.
- Description
- The responsedescription at the top level is used to provide a general message describing the overarching nature of the response. If this value is available an application may use it instead of presenting the individual response descriptions contained within the responses.
responsedescription は、応答の支配的性質を説明する一般的メッセージを提供するのに使います。
この値が利用可能な場合応用は response 中の個々の応答説明を提示する代わりにこの値を使って構いません。<!ELEMENT multistatus (response+, responsedescription?) >
[33] RFC 3648 - Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol () <https://tools.ietf.org/html/rfc3648#section-7>
[34] RFC 4791 - Calendaring Extensions to WebDAV (CalDAV) () <https://tools.ietf.org/html/rfc4791#section-5.3.1.1>
[35] RFC 5323 - Web Distributed Authoring and Versioning (WebDAV) SEARCH () <https://tools.ietf.org/html/rfc5323#section-2.3>
バッチ/バルクリクエストには、 常に ステータスコード 207 を返さなければならない。 ただし個々のパートを処理する前にエラーが発生した場合はその限りではない。
バッチ/バルクレスポンスは、 常に バッチ/バルクリクエストの各パートに関する十分なステータスと モニタリング情報を含む、複数状態をもつオブジェクトを、ステータスコード207とともに返す。