この用語をシェア
HTTP/1.1とは
HTTP/1.1(Hypertext Transfer Protocol version 1.1)は、1997年にRFC 2068として標準化され、1999年にRFC 2616で改訂されたWebの通信プロトコルです。HTTP/1.0の後継として開発され、Webブラウザとサーバー間でHTML文書、画像、動画などのリソースを転送するための規約を定義しています。
HTTP/1.1の主な機能
HTTP/1.1は、HTTP/1.0から大幅な改良が加えられています。最も重要な機能として、持続的接続(Persistent Connection)があります。これにより、同じサーバーへの複数のリクエストを1つのTCP接続で処理できるようになり、接続確立のオーバーヘッドが削減されました。
パイプライン化
HTTP/1.1では、パイプライン化(HTTP Pipelining)が導入されました。これは、前のリクエストのレスポンスを待たずに次のリクエストを送信できる機能です。ただし、実装上の問題から、多くのブラウザではデフォルトで無効化されています。
ホストヘッダー
HTTP/1.1では、Hostヘッダーが必須となりました。これにより、1つのIPアドレスで複数のドメインをホストする仮想ホスティング(Virtual Hosting)が可能になり、IPアドレスの効率的な活用が実現しました。
チャンク転送エンコーディング
チャンク転送エンコーディング(Chunked Transfer Encoding)により、コンテンツの全体サイズが不明な場合でも、データを分割して送信できるようになりました。これは、動的に生成されるコンテンツの送信に特に有効です。
キャッシュ制御
HTTP/1.1では、より洗練されたキャッシュ制御メカニズムが導入されました。ETag、Cache-Control、Expiresなどのヘッダーにより、ブラウザとプロキシサーバーでの効率的なキャッシュ管理が可能になりました。
HTTP/1.1の制限と課題
HTTP/1.1は長年にわたり活躍してきましたが、いくつかの制限があります。ヘッドオブラインブロッキング(Head-of-Line Blocking)問題により、1つのリクエストが遅延すると後続のリクエストも影響を受けます。また、ヘッダー情報が圧縮されないため、リクエストごとに冗長なデータが送信されます。
現代における位置づけ
HTTP/2やHTTP/3といった後継プロトコルが登場していますが、HTTP/1.1は現在でも広く使用されています。多くのWebサーバーとクライアントがHTTP/1.1をサポートしており、互換性の観点から重要な役割を果たし続けています。
