-
Notifications
You must be signed in to change notification settings - Fork 4
/
948.txt
70 lines (49 loc) · 2.83 KB
/
948.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
[12] [DFN[[CODE(HTTP)@en[[[IM:]]]]]] [[ヘッダー]]は、適用されている[[実現値操作]]を表します。
* 仕様書
[REFS[
- [2] [CITE@en[RFC 3229 - Delta encoding in HTTP]] ([TIME[2014-10-26 21:15:25 +09:00]] 版) <http://tools.ietf.org/html/rfc3229#section-10.3>
- [1] '''[CITE@en[RFC 3229 - Delta encoding in HTTP]] ([TIME[2014-10-26 21:15:25 +09:00]] 版) <http://tools.ietf.org/html/rfc3229#section-10.5.2>'''
]REFS]
* 意味
[3] [CODE(HTTP)@en[[[IM:]]]] [[ヘッダー]]は、[[応答]]が表す[[実現値]]に対して適用されている[[実現値操作]]を示します [SRC[>>1]]。
* 構文
[5] [CODE(HTTP)@en[[[IM:]]]] [[ヘッダー]]の値は、0個以上の[[実現値操作]]の指定の[[リスト]]
([CODE(HTTP)[[[#]]]]) です [SRC[>>1]]。
[FIG(railroad)[
= ?
== [[実現値操作]]
== *
=== [[OWS]]
=== [CODE(HTTP)[[[,]]]]
=== [[OWS]]
=== [[実現値操作]]
]FIG]
[13] [[実現値操作]]の記述の順序は、[[実現値]]に対して操作を適用した順序を表しています。
[15] 適用する[[実現値操作]]の決定については、 [CODE(HTTP)@en[[[A-IM:]]]]
を参照。
* 文脈
[4] [[差分符号化]]した [CODE(HTTP)[[[226]]]] [[応答]]の [CODE(HTTP)@en[[[IM:]]]] [[ヘッダー]]には使用した[[差分符号化]]を明記しなければ[['''なりません''']] [SRC[>>2]]。
[6] [[実現値操作]]として[[範囲]]選択と[[恒等]]でない[[実現値操作]]が両方適用される時は、
[CODE(HTTP)@en[[[IM:]]]] [[ヘッダー]]でその適用順序を指定しなければ[['''なりません''']] [SRC[>>1]]。
[9] [[実現値操作]]が [CODE(HTTP)@en[[[range]]]] のみの場合は、
[CODE(HTTP)@en[[[IM:]]]] [[ヘッダー]]は省略する[['''べきです''']]。
その場合通常は [CODE(HTTP)[[[206]]]] を使います。 [SRC[>>1]]
;; [11] [CODE(HTTP)[[[226]]]] を使うことも禁止されていないということでしょうか。
[7] [CODE(HTTP)@en[[[IM:]]]] に [CODE(HTTP)@en[[[range]]]] が含まれる時は、
[CODE(HTTP)@en[[[Content-Range:]]]] [[ヘッダー]]か
[CODE(HTTP)@en[[[Content-Type:]] [[multipart/byteranges]]]]
を含まなければ[['''なりません''']] [SRC[>>1]]。
[8] [CODE(HTTP)@en[[[IM:]]]] を指定した[[応答]]の[[状態符号]]は
[CODE(HTTP)[[[226]]]] でなければ[['''なりません''']] [SRC[>>1]]。
[14] この[[ヘッダー]]は複数指定できます。
* 処理モデル
[16] [[キャッシュ]]における処理については、[CODE(HTTP)[[[226]]]] を参照。
* 例
[10]
[PRE(HTTP code)[
IM: diffe, deflate, range
]PRE]
... は、[[実現値]]の [CODE(HTTP)@en[[[diffe]]]] による[[差分]]を
[CODE(HTTP)@en[[[deflate]]]] で[[圧縮]]し、
[[範囲要求]]を適用した結果が含まれることを表します [SRC[>>1]]。
]FIG]