メインコンテンツまでスキップ

1. Introduction (はじめに)

1. Introduction (はじめに)

HTTP 中間サーバー ([HTTP] のセクション3.7を参照) -- フォワードプロキシとゲートウェイ (「リバースプロキシ」とも呼ばれる) の両方を含む -- は, HTTP デプロイメントにおいてますます重要な部分となっています。特に, リバースプロキシとコンテンツ配信ネットワーク (CDN) は, 多くのウェブサイトの重要なインフラストラクチャの一部を形成しています。

通常, HTTP 中間サーバーは, リクエストをオリジンサーバーに向けて転送し (インバウンド), その後レスポンスをクライアントに転送します (アウトバウンド)。ただし, インバウンドサーバーからレスポンスを取得する前にエラーが発生した場合, レスポンスは多くの場合, 中間サーバー自体によって生成されます。

HTTP は, これらのタイプのエラーをいくつかのステータスコードで処理します -- 例えば, 502 (Bad Gateway, 不正なゲートウェイ) および 504 (Gateway Timeout, ゲートウェイタイムアウト)。しかし, 経験上, デバッグを支援し, クライアントに何が起こったかを伝えるためには, より多くの情報が必要であることが示されています。さらに, 中間サーバーは, レスポンスを生成していない場合でも, そのレスポンス処理に関する追加情報を伝達したい場合があります。

これらの用途を可能にするため, セクション2では, 中間サーバーがレスポンス処理の詳細を伝達できるようにする新しい HTTP レスポンスフィールドを定義します。セクション2.1では, 中間サーバーがフィールドに追加できる情報を列挙しており, これはセクション2.2に従って拡張できます。セクション2.3では, プロキシがリクエストのレスポンスを取得する際に問題に遭遇したときに使用するエラータイプのセットを定義します; これらも同様にセクション2.4に従って拡張できます。

1.1. Notational Conventions (表記規則)

この文書のキーワード "MUST (しなければならない)", "MUST NOT (してはならない)", "REQUIRED (必須)", "SHALL (するものとする)", "SHALL NOT (しないものとする)", "SHOULD (すべきである)", "SHOULD NOT (すべきでない)", "RECOMMENDED (推奨される)", "NOT RECOMMENDED (推奨されない)", "MAY (してもよい)", および "OPTIONAL (オプション)" は, BCP 14 [RFC2119] [RFC8174] に記載されているように解釈されるものとします (ただし, ここに示すようにすべて大文字で表記される場合のみ)。

この文書は, 構文と解析を指定するために, [STRUCTURED-FIELDS] のセクション3から次の用語を使用します: List (リスト), String (文字列), Token (トークン), Integer (整数), および Byte Sequence (バイトシーケンス)。

この仕様では, "proxy (プロキシ)" はフォワードプロキシとリバースプロキシの両方を示すために使用されており, これはゲートウェイとも呼ばれます。"Next hop (ネクストホップ)" は, リクエストのオリジンサーバーに向かう方向の接続を示します。