/
434.txt
194 lines (167 loc) · 8.4 KB
/
434.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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
[1] [[HTTP]] の[DFN[[RUBYB[要求頭欄][requset header field]]]]は、
[[頭欄]]の分類で、広い意味では [[HTTP]]
[[要求]][[メッセージ]]の[[頭部]]に使う[[欄]]一般を、
狭い意味では特に [[HTTP]] [[要求]][[メッセージ]]でのみ使用する[[頭欄]]を指します。
メモ: 広い意味で[Q[要求頭欄]]に分類される頭欄のうち、
狭い意味では[Q[要求頭欄]]に含まれないものは、
[[HTTP]] [[メッセージ]]自体に関する[[一般頭欄]]と [[HTTP]]
[[メッセージ]]で伝達する[[実体]]に関する[[実体頭欄]]に分けられます。
;; [17] 狭い方の分類は、 [[RFC 2616]] まで存在していましたが、 [[RFC 7231]]
以降は細分化され、現存しません。
;; [16]
[[実体頭欄]]の一覧は、[[HTTP//頭欄]]を参照して下さい。
* 仕様書
[REFS[
- [18] [CITE@en[RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content]] ([TIME[2014-06-07 01:55:45 +09:00]] 版) <https://tools.ietf.org/html/rfc7231#section-5>
]REFS]
* メモ
-[3] [CODE[Depth:]], [CODE[Destination:]], [CODE[If]], [CODE[Overwrite:]]
各欄は [[RFC2518]] では分類なし。
-[4] [HTTP92] で要求頭行に分類されている [CODE[Pragma:]] 欄は、後の HTTP
では[[一般頭欄]]に分類されています。
-[15] [CODE(HTTP)[Query-UTF-8]] は[[応答頭欄]]かつ要求頭欄です。
* 歴史
[FIG(quote)[
[FIGCAPTION[
[19] RFC 1945 (HTTP/1.0) 5.2; RFC 2068・2616 (HTTP/1.1) 5.3 Request Header Fields
]FIGCAPTION]
> The request[INS[-]]header fields allow the client to pass additional
information about the request, and about the client itself, to the
server. These fields act as request modifiers, with semantics
equivalent to the parameters on a programming language method [DEL[(procedure)]] invocation.
要求頭欄は、[[クライアント]]が[[要求]]についておよびクライアント自身についての追加の情報を[[サーバー]]に渡すことを可能とします。
要求頭欄は、プログラム言語の method [DEL[(手続き)]] 呼出しの[[引数]]と同等の意味を持つ、要求修飾子として働きます。
[DEL[
[DEL[
>[INS[{1945}]]
-
[PRE[
Request-Header = Authorization ; Section 10.2
| From ; Section 10.8
| If-Modified-Since ; Section 10.9
| Referer ; Section 10.13
| User-Agent ; Section 10.15
]PRE]
]DEL]
[INS[
>[INS[{2068}]]
-
[PRE[
request-header = Accept ; Section 14.1
| Accept-Charset ; Section 14.2
| Accept-Encoding ; Section 14.3
| Accept-Language ; Section 14.4
| Authorization ; Section 14.8
| From ; Section 14.22
| Host ; Section 14.23
| If-Modified-Since ; Section 14.24
| If-Match ; Section 14.25
| If-None-Match ; Section 14.26
| If-Range ; Section 14.27
| If-Unmodified-Since ; Section 14.28
| Max-Forwards ; Section 14.31
| Proxy-Authorization ; Section 14.34
| Range ; Section 14.36
| Referer ; Section 14.37
| User-Agent ; Section 14.42
]PRE]
]DEL]
[INS[
>[INS[{2616}]]
-
[PRE[
request-header = Accept ; Section 14.1
| Accept-Charset ; Section 14.2
| Accept-Encoding ; Section 14.3
| Accept-Language ; Section 14.4
| Authorization ; Section 14.8
| Expect ; Section 14.20
| From ; Section 14.22
| Host ; Section 14.23
| If-Match ; Section 14.24
| If-Modified-Since ; Section 14.25
| If-None-Match ; Section 14.26
| If-Range ; Section 14.27
| If-Unmodified-Since ; Section 14.28
| Max-Forwards ; Section 14.31
| Proxy-Authorization ; Section 14.34
| Range ; Section 14.35
| Referer ; Section 14.36
| TE ; Section 14.39
| User-Agent ; Section 14.43
]PRE]
]INS]
> [DEL[Request-Header]] [INS[Request-header]] field names can be extended reliably only in
combination with a change in the protocol version. However, new or
experimental header fields [DEL[may]] [INS[MAY]] be given the semantics of request[INS[-]]header fields if all parties in the communication recognize them to
be request[INS[-]]header fields.
Unrecognized header fields are treated as [DEL[Entity-Header]] [INS[entity-header]] fields.
要求頭欄名は、プロトコル版中の変更と組合せてのみ確実に拡張できます。
しかし、新しいあるいは実験的な頭欄は、
通信のすべての当事者がこれを要求頭欄であると認識すれば、
要求頭欄の意味を与えられても'''構いません'''。
認識できない頭欄は[[実体頭欄]]として扱われます。
[INS[
注: 追加・削除は RFC 1945 → RFC 2068 の修正部。
]INS]
]FIG]
*HTCPCP 要求頭欄
[2] [[HTCPCP]] ([[RFC2324]]) は、 [[HTTP]] に頭欄を追加しています。
,[[Accept-Addition:]] ,受付ける材料 ,[RFC 2324]
[[#comment]]
* RTSP 要求頭欄
[5]
,[[Accept:]] ,[RFC 2326]
,[[Accept-Encoding:]] ,[RFC 2326]
,[[Accept-Language:]] ,[RFC 2326]
,[[Authorization:]] ,[RFC 2326]
,[[Bandwidth:]] ,[RFC 2326]
,[[Blocksize:]] ,[RFC 2326]
,[[Conference:]] ,[RFC 2326]
,[[From:]] ,[RFC 2326]
,[[Host:]] ,([RFC 2326])
,[[If-Modified-Since:]],[RFC 2326]
,[[Proxy-Require:]] ,[RFC 2326]
,[[Range:]] * ,[RFC 2326]
,[[Referer:]] ,[RFC 2326]
,[[Require:]] ,[RFC 2326]
,[[Session:]] * ,[RFC 2326]
,[[Speed:]] ,[RFC 2326]
,[[Transport:]] * ,[RFC 2326]
[6] * のついた欄は、
要求頭欄でかつ[[応答頭欄]]であるとされています。
[[#comment]]
* SIP 要求頭欄
[7] [[RFC3261]] の世代の規格くらいになると要求頭欄と[[一般頭欄]]と[[応答頭欄]]の区別ってあんまり意味を成さなくなるんですが、
とりあえず仕様にそう書いてあるか、
又は要求にしか使えないことになってる頭欄はここに分類してます。
そんなわけで、
後の規格で応答でも使えることになったら、
その時点で[[一般頭欄]]に再分類してます。
そういう欄には [CODE[**]] 印をつけときます。
,[[Authorization:]],"[RFC 2543], [RFC 3261]"
,[[Contact:]] ,"[RFC 2543] **"
,[[Hide:]] ,"[RFC 2543], [RFC 3261] (非推奨)"
,[[In-Reply-To:]] ,"[RFC 3261]"
,[[Max-Forwards:]],"[RFC 2543], [RFC 3261]"
,[[Organization:]],"[RFC 2543] **"
,[[P-Called-Party:]],"[RFC 3455]"
,[[P-Visited-Network-ID:]],"[RFC 3455]"
,[[Priority:]] ,"[RFC 2543] **"
,[[Proxy-Authorization:]],"[RFC 2543], [RFC 3261]"
,[[Proxy-Require:]],"[RFC 2543], [RFC 3261]"
,[[r:]] == Refer-To:,"[RFC 3515]"
,[[RAck:]] ,"[RFC 3262]"
,[[Refer-To:]] ,"[RFC 3515]"
,[[Require:]] ,"[RFC 2543] **"
,[[Response-Key:]],"[RFC 2543], [RFC 3261] (非推奨)"
,[[Route:]] ,"[RFC 2543], [RFC 3261]"
,[[s:]] == Subject:,"[RFC 2543]"
,[[Security-Client:]],"[RFC 3329]"
,[[Security-Verify:]],"[RFC 3329]"
,[[Subject:]] ,"[RFC 2543], [RFC 3261]"
,[[Subscription-State:]],"[RFC 3265]"
,[[User-Agent:]] ,"[RFC 2543] **"
[REFS[
- [14] [IANAREG] <http://www.iana.org/assignments/sip-parameters> 2003-08-06
]REFS]