要求ヘッダー

要求ヘッダー (HTTP)

[1] HTTP要求頭欄 (requset header field) は、 頭欄の分類で、広い意味では HTTP 要求メッセージ頭部に使う一般を、 狭い意味では特に HTTP 要求メッセージでのみ使用する頭欄を指します。

メモ: 広い意味で要求頭欄に分類される頭欄のうち、 狭い意味では要求頭欄に含まれないものは、 HTTP メッセージ自体に関する一般頭欄HTTP メッセージで伝達する実体に関する実体頭欄に分けられます。

[17] 狭い方の分類は、 RFC 2616 まで存在していましたが、 RFC 7231 以降は細分化され、現存しません。
[16] 実体頭欄の一覧は、HTTP//頭欄を参照して下さい。

仕様書

メモ

歴史

[19] RFC 1945 (HTTP/1.0) 5.2; RFC 2068・2616 (HTTP/1.1) 5.3 Request Header Fields

The request-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 (procedure) invocation.

要求頭欄は、クライアント要求についておよびクライアント自身についての追加の情報をサーバーに渡すことを可能とします。 要求頭欄は、プログラム言語の method (手続き) 呼出しの引数と同等の意味を持つ、要求修飾子として働きます。

{1945}

  •        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

{2068}

  •           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

{2616}

  •        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

Request-Header Request-header field names can be extended reliably only in combination with a change in the protocol version. However, new or experimental header fields may MAY be given the semantics of request-header fields if all parties in the communication recognize them to be request-header fields. Unrecognized header fields are treated as Entity-Header entity-header fields.

要求頭欄名は、プロトコル版中の変更と組合せてのみ確実に拡張できます。 しかし、新しいあるいは実験的な頭欄は、 通信のすべての当事者がこれを要求頭欄であると認識すれば、 要求頭欄の意味を与えられても構いません。 認識できない頭欄は実体頭欄として扱われます。

注: 追加・削除は RFC 1945 → RFC 2068 の修正部。

HTCPCP 要求頭欄

[2] HTCPCP (RFC2324) は、 HTTP に頭欄を追加しています。

Accept-Addition:受付ける材料[RFC 2324]

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] * のついた欄は、 要求頭欄でかつ応答頭欄であるとされています。

SIP 要求頭欄

[7] RFC3261 の世代の規格くらいになると要求頭欄と一般頭欄応答頭欄の区別ってあんまり意味を成さなくなるんですが、 とりあえず仕様にそう書いてあるか、 又は要求にしか使えないことになってる頭欄はここに分類してます。

そんなわけで、 後の規格で応答でも使えることになったら、 その時点で一般頭欄に再分類してます。 そういう欄には ** 印をつけときます。

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] **