1.4 全体的運用



HTTPプロトコルはリクエスト/レスポンスプロトコルである。 クライアントは、サーバーとのリクエスト接続を含んでいる MIME状のメッセージを後に続けて、 リクエスト方法、URIおよびプロトコル・バージョンの形をしている サーバーのもとへリクエストを送る。

サーバーは、サーバーinfomation、実体metainformation および可能な実体身体内容を含んでいる MIME状のメッセージを後に続けて、メッセージのプロトコル・バージョン および成功またはエラーのコードを含むステータス・ラインで答る。 HTTPとMIMEの関係は付録19.4に記述する。

ほとんどのHTTPコミュニケーションはユーザ代理人によって始められ、どこかの起源サーバーの資源に適用されるリクエストから成る。最も単純な場合では、これが、ユーザ代理人(UA)と起源サーバー(O)の間の単一の接続(v)によって遂行されるかもしれない。

request chain ------------------------>
UA -------------------v------------------- O
<----------------------- response chain


1人以上の仲介人がリクエスト/レスポンス鎖において出席している場合、より複雑な状況が生る。仲介人の3つの共通の形式がある:プロキシ、ゲートウェイおよびトンネル。プロキシは運送代理みたいなもので、その絶対的な形式中のURIの要請を受け取って、メッセージのすべてあるいは部分を書き直し、またURIによって識別されたサーバーへの再フォーマットされたリクエストを進めることを仕事とする。ゲータウェイは受信代理人だ、他のどこかのサーバー(s)の上の層の役割をすること、また必要ならばリクエストを根本的なサーバーのプロトコルに翻訳することが仕事だ。トンネルは、メッセージを変更せずに、2つの接続間の中継ポイントの役割をする;仲介人がメッセージの内容を理解することができない場合さえ、コミュニケーションが仲介人(ファイアウォールのような)を通り抜ける必要がある場合、トンネルが使用される。

request chain -------------------------------------->
UA -----v----- A -----v----- B -----v----- C -----v----- O
<------------------------------------- response chain


ユーザ代理人および起源サーバーの間の3つの仲介人(A、BおよびC)を上の図で示す。全体の鎖を動くリクエストまたはレスポンスのメッセージは4つの別個の接続を通り抜けるだろう。いくつかのHTTPコミュニケーション・オプションが最も近いものとの接続にのみ当てはまるかもしれないので、この区別は重要である、チェーンの終点への、あるいはチェーンに沿ったすべての接続へのみ非トンネル隣人。図形は線形だが、各参加者は多数で同時のコミュニケーションに従事しているかもしれない。例えば、BはA以外の多くのクライアントからリクエストを受け取っているかもしれない、または進める、C以外のサーバーに同時に要求する、それはAのリクエストを扱っている。

トンネルの役割をしていないコミュニケーションのどんな加担者もリクエストを扱うのに内部キャッシュを使用してもよい。キャッシュの影響は、チェーンに沿った参加者のうちの一人が貯えられたレスポンスをそのリクエストに適用可能にしておけば、リクエスト/レスポンスチェーンが短くされるということだ。Bが、UAまたはAによって貯えられていないリクエストに対してO(Cによる)からの初期の応答の貯えられたコピーを持っている場合、下記は生じる鎖を例証する。

request chain ---------->
UA -----v----- A -----v----- B - - - - - - C - - - - - - O
<--------- response chain


すべてのレスポンスは有用にキャッシュ可能ということだとは限らない。また、いくつかのリクエストは、キャッシュの挙動に特別の必要条件を置く修飾語を含んでいるかもしれない。キャッシュの挙動および貯えることができるレスポンスのためのHTTP必要条件はセクション13の中で定義される。

実際、ワールドワイドウェブで現在実験されているか、ワールドワイドウェブを横切って展開したキャッシュおよびプロキシの種々様々のアーキテクチャーおよび配置がある;これらのシステムは、大洋横断の帯域幅、放送したシステムあるいはマルチキャスト貯蔵所エントリーを保存する代理貯蔵所、CD-ROMによって貯えられたデータの部分集合を分配する組織などの国立階層を含んでいる。HTTPシステムは、低出力の無線リンクおよび断続的な接続を備えたPDAによって、高い帯域幅のリンクに関する、およびアクセスのための企業イントラネットの中で使用される。HTTP/1.1はプロトコルを導入する間に既に展開した配置の広い多様性を支援すること、それを構築する、高い信頼度を要求するウェブ・アプリケーションを構築する人々の必要を満たす、そして、それに少なくとも失敗することのない、信頼できる表示がされることがゴールです。

HTTPコミュニケーションは、通常TCP/IP接続上に起こる。デフォルト・ポートはTCP 80であるが、他のポートを使用することができる。これは、インターネットに関する、あるいは他のネットワークに関する他のプロトコルの上にHTTPが実行されることは除かない。HTTPは信頼できる輸送を単に推定する;そのような保証を提供するどんなプロトコルは使用することができる;問題のプロトコルの輸送データ・ユニット上へのHTTP/1.1リクエストおよびレスポンス構造の写像は、この明細の範囲の外にある。

HTTP/1.0では、ほとんどの履行が各リクエスト/レスポンス交換のために新しい接続を使用した。HTTP/1.1では、接続は様々な理由のために閉まっているかもしれないが、接続は1つ以上のリクエスト/レスポンス交換のために使用されてもよい(セクション8.1を参照)。