第6章:HTTPヘッダー
HTTPプロトコルの要求メッセージと応答メッセージにはHTTPヘッダーが含まれている必要がありますが、通常、Webを使用する過程でそれを感じることはありません。
6.1HTTPメッセージヘッダー
メッセージヘッダーはいくつかのフィールドで構成されています。
HTTPリクエストメッセージ
リクエストでは、HTTPメッセージは方法、嫌い、HTTPバージョン、HTTPヘッダーフィールドそして、構成の他の部分。
HTTP応答メッセージ
応答では、HTTPメッセージは、HTTPバージョン、ステータスコード、およびHTTPヘッダーフィールドの3つの部分で構成されます。
6.2HTTPヘッダーフィールド
6.2.1HTTPヘッダーフィールドは重要な情報を伝達します
ヘッダーフィールドは、ブラウザとサーバーにメッセージ本文のサイズ、使用される言語、および認証情報を提供するためのものです。
6.2.2HTTPヘッダーフィールド構造
HTTPヘッダーフィールドは、ヘッダーフィールドとフィールド値で構成され、形式は次のとおりです。
首部字段名:字段值
コンテンツタイプヘッダーフィールドは、メッセージ本文のオブジェクトタイプを示します。
Content-Type:text/html
HTTPヘッダーフィールドが繰り返されるとどうなりますか?
この場合、ブラウザの内部処理ロジックによっては、結果に一貫性がない場合があります。
6.2.34種類のHTTPヘッダーフィールド
- 共通ヘッダーフィールド(要求メッセージと応答メッセージの両方で使用されるヘッダー)
- リクエストヘッダーフィールド
- 応答ヘッダーフィールド
- エンティティ対応フィールド
6.2.4 HTTP /1.1ヘッダーフィールド
1.1仕様では、47種類のヘッダーフィールドを次のように定義しています。
6.2.5非HTTP / 1.1ヘッダーフィールド
例:Cookie、Set-Cookie、Content-Disposition、および他のRFCで定義されている他のヘッダーフィールド。
6.2.6エンドツーエンドヘッダーとホップバイホップヘッダー
HTTPヘッダーフィールドは次のように定義されますキャッシングプロキシと非キャッシュプロキシの動作。
- エンドツーエンドヘッダー
このようなヘッダーは、要求/応答に対応する最終的な宛先に転送され、キャッシュによって生成された応答に格納され、転送される必要があります。 - ホップバイホップヘッダー
このタイプのヘッダーは、単一の転送にのみ有効であり、キャッシュまたはプロキシのために転送されません。
HTTP / 1.1の8つのホップバイホップヘッダーフィールドのみ:
- 接続
- 生き続ける
- プロキシ認証
- プロキシ認証
- トレーラー
- に
- 転送エンコーディング
- アップグレード
6.3 HTTP /1.1共通ヘッダーフィールド
6.3.1キャッシュ制御
この指示を通して操作キャッシュ動作メカニズム。
キャッシュ制御コマンドのリスト:
いくつかの手順を以下に説明します。
6.3.2接続
このフィールドには2つの機能があります。
-
エージェントに転送されないヘッダーフィールドを制御します
-
HTTP1.1より前の持続的接続の制御は、デフォルトでは非持続的でした。持続的接続は追加する必要があります== Keep-Alive ==
6.3.3データ
このヘッダーフィールドは、HTTPメッセージが作成された日時を示します。
6.3.4プラグマ
このフィールドは履歴から残されており、キャッシュ制御の指定が最も理想的です。ただし、中間サーバーのバージョンがわからない場合があり、通常は2つのフィールドが含まれています。
6.3.5トレーラー
ヘッダーフィールドは、メッセージ本文の後に記録されるヘッダーフィールドを事前に示します。これは、ブロック送信コーディングに適用できます。ブロック送信を参照してください:第3章:HTTPメッセージのHTTP情報
6.3.6転送エンコーディング
このヘッダーフィールドは、メッセージ本文で使用されるエンコード方法を指定します。HTTP /1。の伝送コーディング方式は、ブロック伝送コーディングにのみ有効です。
6.3.7アップグレード
このフィールドは、HTTpプロトコルおよびその他のプロトコルが上位バージョンと通信できるかどうかを検出するために使用されます。
このフィールドが影響を与えるオブジェクトは、クライアントと重要なサーバーの間だけです。したがって、接続:アップグレードと一致する必要があります。
6.3.8経由
このフィールドは、プロキシサーバーのセクションで前述しました。通過するプロキシサーバーを記録するために使用されます。リクエストのループバックを回避する。
6.3.9警告
このヘッダーは通常、キャッシュ関連の問題をユーザーに通知します警告。
フォーマット:
関連する警告コード:
6.4リクエストヘッダーフィールド
このフィールドは、要求された追加情報、クライアント情報、および応答コンテンツに関連する優先順位を補足するために使用されます。
6.4.1受け入れる
6.4.2Accept-Charset
6.4.3Accept-エンコーディング
6.4.4受け入れる-言語
6.4.5承認
6.4.6期待する
6.4.7フォーム
サーバーにユーザーエージェントを通知するために使用されるユーザーの電子メールアドレス。
6.4.8ホスト
6.4.9If-Match
条件付きリクエスト:
6.4.10If-Modified-Since
6.4.11If-None-Match
6.4.12If-Range
それ以外の場合はすべて戻ります:
6.4.13If-変更なし-以降
If-Modified-Sinceとは異なり、リクエストを処理する前の日付以降は更新は行われません。
6.4.14最大フォワード
6.4.15プロキシ認証
プロキシサーバーから送信された認証チャレンジを受信すると、クライアントはヘッダーフィールドを含む要求を送信し、サーバーには認証に必要な情報が通知されます。
6.4.16範囲
リソース範囲を指定します。
6.4.17リファラー
6.4.18 TE
このフィールドは、クライアントが送信エンコード方式と応答の相対優先度を処理できることをサーバーに通知します。
6.4.19ユーザーエージェント
6.5応答ヘッダーフィールド
6.5.1受け入れ範囲
6。5。2年齢
6.5.3 ETag
6.5.4場所
6.5.5プロキシ認証
6.5.6再試行後
6.5.7サーバー
6.5.8変化する
6.5.9WWW-認証
このフィールドは、HTTPアクセス認証に使用されます。
6.6エンティティヘッダーフィールド
6.6.1許可
6.6.2コンテンツエンコーディング
6.6.3コンテンツ-言語
6.6.4コンテンツの長さ
6.6.5コンテンツ-場所
6.6.6コンテンツ-MD5
6.6.7コンテンツ範囲
6.6.8コンテンツタイプ
6.6.9有効期限が切れます
6.6.10最終変更
6.7Cookieサービスのヘッダーフィールド
関連するCookieは以下を参照できます:HTTPプロトコルの深い理解
参照:「グラフィックHTTP」