Internet Explorer 4.01のインターネットオプションの詳細設定で,HTTP1.1についての設定がありますが,これはどういうものなのですか。
HTTPとは,WebサーバーとWebブラウザの間で交信するためのプロトコル(通信方法の取り決めのようなもの)です。このHTTPには HTTP0.9,HTTP1.0,HTTP1.1という三つのバージョンがあります。これらはそれぞれ以下のようなものです。
●HTTP0.9
きわめて初期の段階で使われていたプロトコルです。現在はHTTP1.0に取って代わられてしまい,まず使うケースはないでしょう。
●HTTP1.0
RFC(Request For Comment)1945として規定されたプロトコルで,現在の主流と考えていいものです。
●HTTP1.1
RFC2068として規定されたプロトコルで,HTTP1.0の上位互換となっていますが,一部非互換の部分もあります。現在HTTPプロトコルはHTTP1.0からHTTP1.1に移行している最中と考えていいでしょう。
さてInternet Explorerの設定ですが,これは解釈するHTTPプロトコルをHTTP1.0にするか,HTTP1.1にするかという区別です。ここで「HTTP1.1を使用」にした場合,HTTP1.0とHTTP1.1の非互換部分がネックとなり,既存のHTTP1.0で動いているWebサーバーへ正常にアクセスできなくなる可能性があります。
HTTP1.0とHTTP1.1がどう違うかですが,大きなものとして以下の二つが挙げられます。
●パーシステントコネクションへの対応
HTTP1.0までは,複数のオブジェクトを転送するたびに,接続→転送→切断という手順を繰り返していました。例えば画像ファイルが3個含まれるページの表示には,接続→1個めの画像転送→切断→接続→2個めの画像転送→切断→接続→3個めの画像転送→切断という煩雑なシーケンスを取る必要がありました。HTTP1.1からはこれを,接続→1個めの画像転送→2個めの画像転送→3個めの画像転送→切断という具合にまとめて転送を行います。こうした「1回の接続で複数の転送を行う」メカニズムをパーシステントコネクションといいます。
●バーチャルホスト,プロキシ,キャッシュへの対応
HTTP1.0までは,相手を特定してリクエストを行う機能がなかったので,実際の接続に当たってはTCPベースでIPアドレスを指定することで接続を行っていました。これが問題になってくるのは,バーチャルドメインに対してアクセスを行う場合です。
例えばドメイン名だけ取得し,実体はどこかのレンタルサーバーに委託しているようなWebサーバーの場合,1個のIPアドレスが複数のドメイン名を持つといった構造になります。この場合,IPアドレスでアクセスしても正しく目的のWebページにアクセスできないことがあります。こうしたケースの解決案として,HTTP1.1からは,リクエストにホスト名を含めることで,受け取った側でバーチャルドメインの切り分けができるようになっています。
またプロキシやキャッシュといった機構は,HTTP1.0ではまったく考慮されていませんでした。これに対し,HTTP1.1はキャッシュ制御をもリクエストに内包しています。
(大原雄介)
Internet Explorer 4.01ではHTTP1.0を使うか,HTTP1.1を使うか選択できる