1 |
wakaba |
1.1 |
#?SuikaWiki/0.9 page-icon="HTTP"
|
2 |
|
|
[[#comment]]
|
3 |
|
|
* 仕様書から
|
4 |
|
|
** RFC 2068・2616 (HTTP/1.1) 10.2.7 206 Partial Content
|
5 |
|
|
> The server has fulfilled the partial GET request for the resource.
|
6 |
|
|
The request [DEL[must]] [INS[MUST]] have included a Range header field (section [DEL[14.36]] [INS[14.35]])
|
7 |
|
|
indicating the desired range[INS[, and MAY have included an If-Range header field (section 14.27) to make the request conditional]].
|
8 |
|
|
|
9 |
|
|
サーバーはその資源についての部分 [CODE(HTTP)[[[GET]]]]
|
10 |
|
|
を満たしました。要求は望ましい範囲を示した [CODE(HTTP)[[[Range]]]]
|
11 |
|
|
頭欄を含んでいなければ'''なりません'''[INS[で、要求を条件的にする [CODE(HTTP)[[[If-Range]]]] 頭欄を含んでいても'''かまいません''']]。
|
12 |
|
|
|
13 |
|
|
> The response MUST include [INS[the following header fields:]]
|
14 |
|
|
- [DEL[either]] [INS[Either]]
|
15 |
|
|
a Content-Range header field (section [DEL[14.17]] [INS[14.16]]) indicating
|
16 |
|
|
the range included with this response, or a multipart/byteranges
|
17 |
|
|
Content-Type including Content-Range fields for each part. If [DEL[multipart/byteranges is not used, the]] [INS[a]] Content-Length header field [INS[is present]] in the response[INS[, its value]]
|
18 |
|
|
MUST match the actual number of OCTETs transmitted in the message-body.
|
19 |
|
|
|
20 |
|
|
応答は次の頭欄を含んでいなければ'''なりません''':
|
21 |
|
|
- この資源に含まれている範囲を示す [CODE(HTTP)[[[Content-Range]]]]
|
22 |
|
|
頭欄又は [CODE(MIME)[[[multipart/byterange]]]] [CODE(HTTP)[[[Content-Type]]]]
|
23 |
|
|
であって各部分が [CODE(HTTP)[Content-Range]] 欄を含んでいるもののいずれか。
|
24 |
|
|
[CODE(HTTP)[[[Content-Length]]]] 頭欄が応答に含まれるなら、
|
25 |
|
|
その値は [CODE(ABNF)[[[message-body]]]] 中の転送される [CODE(ABNF)[[[OCTET]]]]
|
26 |
|
|
の実際の数と一致しなければ'''なりません'''。
|
27 |
|
|
|
28 |
|
|
[INS[
|
29 |
|
|
>
|
30 |
|
|
- Date
|
31 |
|
|
- ETag and/or Content-Location, if the header would have been sent
|
32 |
|
|
in a 200 response to the same request
|
33 |
|
|
- Expires, Cache-Control, and/or Vary, if the field-value might
|
34 |
|
|
differ from that sent in any previous response for the same variant
|
35 |
|
|
|
36 |
|
|
- [CODE(HTTP)[[[Date]]]]
|
37 |
|
|
- 同じ要求についての [CODE(HTTP)[[[200]]]] 応答で送られるであろうなら、
|
38 |
|
|
[CODE(HTTP)[[[ETag]]]] [[及び/又は]] [CODE(HTTP)[[[Content-Location]]]]
|
39 |
|
|
- 同じ変種についての以前の応答で送られたものと異なるかもしれない [CODE(ABNF)[[[field-value]]]]
|
40 |
|
|
であれば、 [CODE(HTTP)[[[Expires]]]], [CODE(HTTP)[[[Cache-Control]]]]
|
41 |
|
|
及び/又は [CODE(HTTP)[[[Vary]]]]
|
42 |
|
|
|
43 |
|
|
> If the 206 response is the result of an If-Range request that used a
|
44 |
|
|
strong cache validator (see section 13.3.3), the response SHOULD NOT
|
45 |
|
|
include other entity-headers. If the response is the result of an
|
46 |
|
|
If-Range request that used a weak validator, the response MUST NOT
|
47 |
|
|
include other entity-headers; this prevents inconsistencies between
|
48 |
|
|
cached entity-bodies and updated headers. Otherwise, the response
|
49 |
|
|
MUST include all of the entity-headers that would have been returned
|
50 |
|
|
with a 200 (OK) response to the same request.
|
51 |
|
|
|
52 |
|
|
[CODE(HTTP)[206]] 応答が[[強いキャッシュ検証]]を使った
|
53 |
|
|
[CODE(HTTP)[If-Range]] 要求の結果であるなら、応答は他の実体頭を含む'''べきではありません'''。
|
54 |
|
|
応答が弱い検証を使った結果であるなら、応答は他の実体頭を含んでは'''なりません'''。
|
55 |
|
|
これによってキャッシュされている実態本体と更新された頭の不一致を防ぐことができます。
|
56 |
|
|
これ以外の場合には、応答は同じ要求に対する [CODE(HTTP)[200]]
|
57 |
|
|
応答が返すであろう実体頭を全て含まなければ'''なりません'''。
|
58 |
|
|
|
59 |
|
|
> A cache MUST NOT combine a 206 response with other previously cached
|
60 |
|
|
content if the ETag or Last-Modified headers do not match exactly, see 13.5.4.
|
61 |
|
|
|
62 |
|
|
キャッシュは、 [CODE(HTTP)[ETag]] 頭又は [CODE(HTTP)[[[Last-Modified]]]]
|
63 |
|
|
頭が正確に一致しない限り、以前にキャッシュしたほかの内容と
|
64 |
|
|
[CODE(HTTP)[206]] 応答を結合しては'''なりません'''。
|
65 |
|
|
]INS]
|
66 |
|
|
|
67 |
|
|
> A cache that does not support the Range and Content-Range headers
|
68 |
|
|
MUST NOT cache 206 (Partial) responses.
|
69 |
|
|
|
70 |
|
|
[CODE(HTTP)[Range]] 頭や [CODE(HTTP)[Content-Range]]
|
71 |
|
|
頭に対応していないキャッシュは [CODE(HTTP)[206]] (部分) 応答をキャッシュしては'''なりません'''。
|
72 |
|
|
|
73 |
|
|
** RFC の部分の License
|
74 |
|
|
[[RFCのライセンス]]
|
75 |
|
|
* メモ
|
76 |
|
|
|