HTTP + HTML (Tim Berners-Lee・1991)(エイチティーティーピー)
1991年にティム・バーナーズ=リーによって提唱された、情報の相互参照を可能にする通信プロトコル(HTTP)と文書構造記述言語(HTML)の総称。現代インターネットの基盤となる技術群である。
概要
「HTTP + HTML」は、単なるソフトウェアの組み合わせではなく、情報のあり方を根本から変えた「World Wide Web (WWW)」を成立させるための三位一体の技術概念です。1991年、CERNのティム・バーナーズ=リーによって、研究者間でのドキュメント共有を目的に開発されました。
この技術体系は、以下の3つの柱で構成されています:
- URL (Uniform Resource Locator): ネットワーク上のリソース(文書や画像)が「どこにあるか」を指し示す住所の役割。
- HTTP (HyperText Transfer Protocol): クライアント(ブラウザ)とサーバー間で、リクエストとレスポンスをやり取りするための通信規約。
- HTML (HyperText Markup Language): 文書の構造やハイパーリンク(文書間の繋がり)を記述するための言語。
初期のWebはNeXT Computer上で動作するシンプルなテキストベースのものでしたが、これがインターネットというインフラと結びついたことで、爆発的な普及を遂げました。現在では、単なる文書閲覧の枠を超え、高度なアプリケーション実行環境へと進化しています。
技術的進化の系譜
Web技術は、通信効率の向上と遅延(レイテンシ)の解消を目指して、以下のように進化を続けてきました。
- HTTP/0.9 (1991年頃):
極めて単純なプロトコル。
GETリクエストのみが存在し、HTMLテキストのみを転送可能。ヘッダー情報の概念も未発達。 - HTTP/1.0 (1996年): MIMEタイプの導入により、画像や音声などのマルチメディア転送に対応。ヘッダーによるメタデータのやり取りが可能に。
- HTTP/1.1 (1999年): 「Keep-Alive」による接続の持続化を実現。一度のTCP接続で複数のリクエストを連続して処理できるようになり、Webの高速化に大きく貢献。
- HTTP/2 (2015年): バイナリフレーム形式への移行と「マルチプレクシング(多重化)」の導入。一つの接続内で複数のリソースを並列に転送可能とし、Head-of-Line Blocking問題を緩和。
- HTTP/3 (2022年〜現在): TCPではなくUDPベースの「QUIC」プロトコルを採用。パケットロス時の再送制御を最適化し、モバイルネットワークなどの不安定な環境下でも極めて低い遅延を実現。
通信方式の比較表
| 項目 | HTTP/1.1 | HTTP/2 | HTTP/3 |
|---|---|---|---|
| トランスポート層 | TCP | TCP | UDP (QUIC) |
| 通信形式 | テキストベース | バイナリ形式 | バイナリ形式 |
| 並列処理能力 | 低い(逐次処理に近い) | 高い(多重化可能) | 非常に高い(ストリーム分離) |
| 主な課題 | Head-of-Line Blocking | TCP層でのブロッキング発生 | 実装の複雑性とCPU負荷 |
| 現代の用途 | レガシーなシステム | 一般的なWebサイト | 高速・低遅い動画配信/ゲーム |
関連用語との決定的な違い
Internet と Web の違い
よく混同されますが、両者は全く別物です。「Internet」は世界中のコンピュータを接続するネットワークの物理的・論理的なインフラ(道路網)を指し、「Web」はそのインフラの上で動くサービスの一つ(走行する車や物流システム)に過ぎません。
URL と URI の違い
「URI (Uniform Resource Identifier)」は、リソースを識別するための概念の総称です。「URL」はその中の一種であり、リソースが「どこにあるか(場所)」を示すものです。つまり、URLはURIという大きなカテゴリーに含まれる具体的な手段の一つです。
FAQ
Q1: HTTPとHTMLはどのように連携しているのですか? HTTPは「運び屋」であり、HTMLは「荷物の中身」です。ユーザーがブラウザでURLを入力すると、ブラウザがHTTPプロトコルを使ってサーバーに「このページをください」とリクエストを送り、サーバーがHTMLコードをHTTPレスポンスとして返送します。ブラウザはそのHTMLを解析して画面を描画します。
Q2: なぜHTTP/3ではTCPではなくUDPを使うのですか? 従来のTCPは、データの到着順序を厳格に管理するため、一つのパケットが欠落すると後続のデータもすべて止まってしまう「Head-of-Line Blocking」という弱点がありました。HTTP/3(QUIC)はUDPを利用することで、この制約を回避し、一部のデータが遅延しても他のデータの処理を継続できる柔軟性を手に入れました。
**Q3: 現代のWeb開発において、HTMLの役割はどう変わりましたか? 当初は単純な文書構造を示すためのものでしたが、現在はJavaScriptなどのスクリプトと組み合わさり、単なる「静的な文書」ではなく、「動的なアプリケーションの骨格」として機能しています。プロトコル(HTTP)が高速化することで、このHTML/JavaScriptによる高度なUI体験がよりスムーズに実現可能となっています。