http/2とは?初心者にもわかる仕組みと使い方共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
http/2とは?初心者にもわかる仕組みと使い方共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢: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: サーバー設定の簡素化 新しい接続をたくさん作らず、既存の接続を使い回します。

<th>特徴
説明
多重化一つの接続で同時に複数のリクエスト・レスポンスを送信
ヘッダ圧縮リクエスト/レスポンスのヘッダ情報を効率的に圧縮
サーバー推進サーバーがクライアントに対して積極的にデータを送る「サーバー・プッシュ」が可能

次のセクションでは、なぜ速くなるのかの仕組みをもう少し詳しく見ていきます。

どうして速くなるの?

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のおすすめ参考サイト


インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
15473viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2481viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1112viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
1091viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
984viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
936viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
894viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
885viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
824viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
823viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
752viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
741viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
646viws
xlsmとは?初心者でも分かるExcelのマクロ付きファイルの基本共起語・同意語・対義語も併せて解説!
645viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
642viws
countifとは?初心者でもすぐ使える基本と応用ガイド共起語・同意語・対義語も併せて解説!
574viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
561viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
541viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
535viws
googleドキュメントとは?初心者が今日から使いこなす基本ガイド共起語・同意語・対義語も併せて解説!
496viws

新着記事

インターネット・コンピュータの関連記事