

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
http/2とは?初心者にもわかりやすい基本のき
インターネットでウェブサイトを開くとき、私たちは見た目には同じように感じますが、裏ではデータをやり取りする約束事がいくつも違います。http/2は、従来のHTTP/1.1に比べて「早く、効率よく、たくさんのデータを同時に送れる」新しいルールです。ここでは中学生にもわかるように、なぜ速くなるのか、どう使われているのかを解説します。
まず前提として、HTTPはウェブとあなたの端末の間でデータを運ぶ取り決めです。http/2はこの取り決めを見直して、通信をもっとスムーズにする工夫をいくつか追加しました。
主な特徴
特徴1: 多重化 一つの接続で複数のデータを同時に送れるため、従来の順番待ちが減ります。
特徴2: ヘッダの圧縮 よく使われる情報を圧縮して送るので、通信量が少なくて済みます。
特徴3: サーバー設定の簡素化 新しい接続をたくさん作らず、既存の接続を使い回します。
| 説明 | |
|---|---|
| 多重化 | 一つの接続で同時に複数のリクエスト・レスポンスを送信 |
| ヘッダ圧縮 | リクエスト/レスポンスのヘッダ情報を効率的に圧縮 |
| サーバー推進 | サーバーがクライアントに対して積極的にデータを送る「サーバー・プッシュ」が可能 |
次のセクションでは、なぜ速くなるのかの仕組みをもう少し詳しく見ていきます。
どうして速くなるの?
HTTP/1.1では一度に一つずつデータを送っていました。これを待つ時間が長くなると、全体の表示が遅く感じます。http/2は以下の工夫で速度を改善します。
第一に多重化です。一つの接続の上で、複数のデータのやり取りを同時に走らせます。これにより、接続数を増やす必要が減り、混雑が減ります。
第二にヘッダの圧縮です。多くのリクエストは似た情報を含みます。これを圧縮して送ることで、余計なデータを減らします。
第三にサーバー・プッシュです。ウェブページを作るとき、すでに必要だと分かっているデータを先に送ることができ、ページの表示を早めることができます。
導入のコツ
自分のサイトでhttp/2を使うには、いくつかの条件があります。以下を順番にチェックしましょう。
1. サーバーの対応 あなたのレンタルサーバーや自分で運用しているサーバーがHTTP/2に対応しているかを確認します。多くのホスティングサービスは「HTTP/2対応」と案内しています。
2. TLSの利用 HTTP/2は多くの場合TLS(https)を前提にしています。サイトをHTTPSで提供しているかを確認します。
3. 設定の反映 サーバーの設定を変更したら、再起動や設定リロードが必要になることがあります。公式のガイドに沿って適用しましょう。
よくある誤解
「HTTP/2は必ずHTTPSで使うべきだ」と思いがちですが、実はHTTP/2は暗号化なしでの実装も可能です。ただし、現実的には多くの環境でHTTPSを使うのが標準になっています。もう一つの誤解は「すぐ速くなる」と思うことです。実際には接続の状況やサーバーの実装、ネットワークの混雑具合で速さは変わります。
実装の流れ(簡易図解)
実装の流れは大まかに次の通りです。1 クライアントとサーバーが接続を開始します。2 既存の接続を再利用しながら複数のデータを同時に送信します。3 ヘッダ情報を圧縮して送ります。4 必要なデータをサーバーが先に送る場合があります。
補足情報
- 補足用語
- ヘッダ(HTTPヘッダ)/ サーバー・プッシュ/多重化/HPACK
まとめと要点
要点を整理すると、http/2は「一つの接続で複数のデータを同時に送る」「ヘッダを圧縮して無駄を減らす」「サーバー・プッシュで先にデータを送れる」という点が特徴です。導入時にはサーバーの対応状況とHTTPSの利用を確認することが大切です。これからウェブサイトを運用する人は、HTTP/2対応を優先的に検討すると、訪問者の体感速度が改善される可能性が高くなります。
http/2の同意語
- HTTP/2
- Hypertext Transfer Protocol Version 2 の略。HTTP/1.1 の課題を解決するために導入された、低遅延・並列転送を特徴とするウェブ通信プロトコル。RFC 7540 で標準化されています。
- http/2
- Hypertext Transfer Protocol Version 2 の別表記。HTTP/2 の同義語として使われる表現です。
- HTTP 2
- HTTP/2 の別表記。スペースを入れて書く場合の表現で、意味は HTTP/2 と同じです。
- HTTP-2
- HTTP/2 の別表記。ハイフンを使う表現で、意味は HTTP/2 と同じです。
- Hypertext Transfer Protocol Version 2
- HTTP/2 の正式名称。第2世代のウェブ通信プロトコルを指します。
- Hypertext Transfer Protocol v2
- HTTP/2 の正式名称の別表記。第2世代のウェブ通信プロトコルを指します。
- h2
- HTTP/2 を指す短縮名。TLS の ALPN で使われる識別子としても使われます。
- http/2
- HTTP/2 の表記ゆれ。全角スラッシュを使う異表現。実務では通常 http/2 が使われます。
- HTTP/2.0
- HTTP/2 の別表記。正式には HTTP/2.0 あるいは HTTP/2 として表記されます。
- H2
- HTTP/2 を指す略称として使われることがある表現。技術資料で見かけることがあります。
- ハイパーテキスト転送プロトコル バージョン2
- HTTP/2 の日本語表現の直訳表現。
http/2の対義語・反対語
- HTTP/1.0
- HTTPの初期バージョンで、接続の再利用やパイプライン化がなく、HTTP/2とは異なる時代の技術。対比として挙げられます。
- HTTP/1.1
- HTTPの長らく広く使われた版。継続的な接続やキャッシュ機能の改善などを取り入れましたが、HTTP/2とは別世代の規格です。
- HTTP/0.9
- 最も初期のHTTP版で、機能は極めて限られています。現在はほとんど使われず、HTTP/2の対比として挙げられることがあります。
- HTTPS
- HTTP通信をTLSで暗号化した版。安全性を大きく向上させ、HTTP/2とセットで使われることが多い点が対比のポイントです。
- HTTP/3
- HTTPの新世代。QUICを使って高速化・安定性の向上を目指すもので、HTTP/2の“後継”として対比に使われます(厳密には反対語ではなく後継世代の対照)。
- h2c
- HTTP/2を暗号化なしで使う形式。セキュリティが低く、HTTPSと対比されることが多い用語です。
- プレーンHTTP
- 暗号化なしのHTTP通信を指す表現。HTTPSと対比して“安全でない通信”として用いられます。
- WebSocket
- HTTPとは異なるプロトコルで、長時間の双方向通信が可能。HTTP/2とは同じWeb通信の枠組みでも用途が異なる点で“対比”的に語られます。
- FTP
- ファイル転送に特化したプロトコル。Webの基本となるHTTPとは別体系で、用途が異なる点を対比として挙げられます。
http/2の共起語
- RFC 7540
- HTTP/2の正式仕様を定義したRFC番号。IETFが公開した標準仕様で、HTTP/2の動作仕様やメカニズムを定義しています。
- SPDY
- HTTP/2の元となったGoogle主導の実験的プロトコル。現在はHTTP/2へ正式移行済みです。
- h2
- HTTP/2を表す略称・識別子。ウェブサーバの設定やログでよく使われます。
- h2c
- HTTP/2のクリアテキスト版。TLSなしでHTTP/2を使う場合に用いられることがあります。
- ALPN
- TLSのハンドシェイク時に利用するアプリケーション層プロトコルのネゴシエーション機構。HTTP/2はALPNで選択されることが多いです。
- TLS
- Transport Layer Securityの略。HTTPSなどで通信を暗号化する技術です。HTTP/2は多くの場合TLSとセットで使われます。
- HTTPS
- HTTP over TLSの略。TLSで保護されたHTTP通信で、HTTP/2は通常HTTPSとして動作します。
- HPACK
- HTTP/2専用のヘッダ圧縮方式。ヘッダ情報を効率的に圧縮して伝送を軽くします。
- header compression
- HTTP/2で使われるヘッダ情報の圧縮全般を指します(HPACKが主な方式です)。
- binary protocol
- HTTP/2はテキストではなくバイナリ形式のプロトコル。帧単位でデータをやり取りします。
- frames
- HTTP/2のデータを構成する最小単位の枠(frame)。複数のフレームがストリーム内で組み合わさって通信します。
- stream
- HTTP/2の基本的通信路。1つのコネクション内で複数のストリームを並行処理します。
- multiplexing
- 1つのTCP接続で複数のストリームを同時に送受信できる仕組み。HTTP/2の核心機能のひとつです。
- server push
- サーバがクライアントのリクエスト前に関連リソースを送信して、読み込み待機を短縮する機能。
- flow control
- データを一度に送りすぎて受信側が溢れないよう制御する仕組み。HTTP/2にも適用されます。
- priority
- ストリームごとに優先度を設定して、重要なデータを先に送ることをサポートします。
- maximum concurrent streams
- 同時に開けるストリームの最大数の上限。実装や設定で異なります。
- connection coalescing
- 同じ接続を複数のホストで共有することで、接続数を減らしパフォーマンスを改善する技術。HTTP/2での活用例があります。
http/2の関連用語
- HTTP/2
- HTTP/2は、従来のHTTP/1.1の欠点を解消するために設計された、同一コネクション上で複数のリクエストを同時に処理できるプロトコルです。
- SPDY
- HTTP/2の設計に影響を与えた前身技術。現在は主流ではなくHTTP/2の前身として言及されます。
- バイナリフレーム
- HTTP/2の通信はテキストではなくバイナリ形式のフレームで行われます。
- ストリーム
- 1つのコネクションで同時に動作するリクエスト・レスポンスの単位。
- フレーム
- HTTP/2の基本的な通信単位で、種類ごとに役割が分かれています。
- 多重化
- 1つのコネクションで複数のストリームを同時に送受信できる仕組み。
- フロー制御
- データの送受信量を制御して通信の混雑を防ぐ機構。
- HPACK
- HTTP/2で用いるヘッダ圧縮アルゴリズム。帯域を節約します。
- HEADERSフレーム
- 新しいストリームの開始時にヘッダを送るためのフレーム。
- DATAフレーム
- 実際のデータを送るフレーム。
- PUSH_PROMISEフレーム
- サーバーが将来必要になるかもしれないリソースを前もって通知するフレーム。
- SETTINGSフレーム
- 通信の開始時に設定を交換するフレーム。並列数や圧縮などを設定します。
- WINDOW_UPDATEフレーム
- 受信側の受信窓を広げる通知のフレーム。
- PRIORITYフレーム
- ストリームの優先度を伝えるフレーム。
- GOAWAYフレーム
- これ以上新しいストリームを開始できないことを通知する終了通知フレーム。
- RST_STREAMフレーム
- ストリームを強制的に終了させるフレーム。
- CONTINUATIONフレーム
- 長いヘッダを複数のフレームに分割して送る場合の連結用フレーム。
- ALPN
- TLS上でどのアプリケーション層プロトコルを使うかを交渉する仕組み。
- TLS
- Transport Layer Security。HTTP/2は多くの場合TLSで保護されます。
- h2c
- TLSを使わずにHTTP/2を使用する方法。普及度は低め。
- サーバープッシュ
- サーバーがクライアントに対して、将来使われる可能性のある資源を先に送る機能。
- 静的ヘッダテーブル
- HPACKの事前定義済みヘッダのテーブル。再利用で圧縮効率を上げます。
- 動的ヘッダテーブル
- 通信中に動的に更新されるヘッダのテーブル。
- HTTP/1.1との差異
- HTTP/2は多重化・ヘッダ圧縮・サーバープッシュ・フロー制御などで高速化・効率化を実現します。
- PINGフレーム
- 接続が生きているか確認するための心拍のようなフレーム。
http/2のおすすめ参考サイト
- HTTP/2とは - JPNIC
- HTTP/2 とは?|BLOG - サイバートラスト
- HTTP/2とは - JPNIC
- HTTP/2とは
- 普及が進む「HTTP/2」の仕組みとメリットとは | さくらのナレッジ
- HTTP/2 とは?|BLOG - サイバートラスト
- HTTP/2とは?仕組みや確認方法とメリット・デメリットを解説



















