サクラサク

解説!SPDYから進化を遂げたHTTP/2の概要と特徴

2024年7月25日

ねぎお社長 (根岸雅之)

最近、GoogleのHTTP/2に対する関心が高くなっているように感じます。
以前「Chromium Blog」でHTTP/2への移行に関する公式アナウンスもありましたが、GoogleChromeが着々とHTTP/2への対応を進めています。公式アナウンス当初、Chrome から参照されているリソースの 25% 以上が HTTP/2 で提供されている、とされていましたので、現在ではさらに多くの割合を占めているものと考えられます。
今回は、このような流れを踏まえ、HTTP/2の概要についてご紹介します。

(参考)Transitioning from SPDY to HTTP/2(HTTP/2への移行に関する公式アナウンス)

『SEO会社が作った、SEOチェックリスト147選-自社サイトのやるべきSEO施策一覧-』
Googleの検索エンジン最適化(SEO対策)を効果的に実施するための包括的なチェックリスト!
自社サイトのSEO対策において必要な改善点を見つけることができる内容を記載していますので
ぜひご活用ください!
無料ダウンロードはこちら

HTTP/2の概要

HTTP/2は、WEBで通信する際のプロトコル(取り決め)であるHTTP(HTTP/1.1)に対して、通信の高速化や安全性の向上などの課題を改善したHTTPの新バージョンです。HTTP/2は標準化団体IETF(Internet Engineering Task Force)のHTTPBisワーキンググループによって策定され、前バージョンから実に17年ぶりのアップグレードとなり話題を呼んでいます。
なおHTTP/2.0やHTTP2などと表記される場合もありますが、正式名称はHTTP/2です。

Googleが策定したSPDYを継承

SPDY(スピーディ)は、通信の高速化を目的としてGoogleが策定したプロトコルで、旧HTTPとの互換性があります。
HTTP/2は、このSPDYをベースに作られており、通信の高速化を担う部分はほぼSPDYを継承しています。先ほどご紹介した「HTTP/2への移行に関する公式アナウンス」では、SPDYを実験的に策定したプロトコルと位置づけており、2016/05/15にChromeのSPDYサポートを終了すると公表していました。

HTTP/2ではHTTPS通信が必須

厳密に言うと、HTTP/2ではTLS(SSL)による暗号化通信は必須ではありませんが、GoogleChromeやFirefoxでは、TLSで暗号化したHTTPSの通信でしかHTTP/2を利用できません。
従って、サイトをHTTP/2に対応させるには、実質TLS(SSL)暗号化通信が必須となります。「HTTP/2を利用する場合、ブラウザ側の仕様によりHTTPS通信にせざるを得ない」ということです。

HTTP/2でサイトを表示するための条件

HTTP/2でサイトを表示するためには、ブラウザとWEBサーバーの双方がHTTP/2に対応している必要があります。
WEBサーバーではapacheやnginxが有名ですが、例えばapacheを使う場合、version2.4.17(一般的にapache2と呼ばれる)からmod_http2というHTTP/2で通信を行うためのモジュールが利用可能となっています。そちらを使ってWEBサーバーを構築、HTTPSの通信環境を整えることで、HTTP/2対応のWEBサーバーとなります。そこにGoogleChromeなどのHTTP/2がサポートされたブラウザでアクセスした際に初めて、HTTP/2の通信が成立するというわけです。

ちなみに、現時点で有名なモダンブラウザであれば、ほぼHTTP/2に対応していると考えて問題ありません。
なお、ブラウザとWEBサーバーの双方または一方がHTTP/2の通信条件を満たさない場合は、自動的にHTTP/1.1での通信に切り替わりますので、サイトが表示されない、といったことにはなりません。

HTTP/2の特徴と改善点

バイナリプロトコル

リクエストやレスポンスのやり取りについて、HTTP/1.1ではテキスト形式のフォーマットでやり取りされていましたが、HTTP/2ではバイナリ形式のフォーマットを用いるように変更されました。
テキスト形式とは人間が読んで理解できる形式のことで、バイナリ形式とはコンピュータが読んで理解できる形式のことです。
HTTP/1.1ではテキスト形式で受け取ったデータをバイナリに変換する処理が必要でしたが、HTTP/2では最初からバイナリ形式でデータのやり取りを行うので、変換処理にかかる時間を削減でき、サイトの表示も高速化します。

ストリームの生成と優先度

HTTP/1.1では、1つのTCPコネクションあたり、リクエストとレスポンスの組を1つずつしか同時に送受信できないため、リクエストが増えると待ち時間が発生し、その分表示速度が遅くなるといった問題点がありました。HTTP/2では、1つのTCPコネクションの中にストリームと呼ばれる仮想的なパイプラインを複数生成し、それぞれのストリーム内でリクエストとレスポンスをやり取りできるようになりました。その結果、HTTP/1.1で問題となっていたリクエストの待ち時間を大幅に削減することで、表示の高速化を実現しています。apacheのmod_http2では、1つのTCPコネクションあたりのストリーム生成数を調整することができ、デフォルトの設定ではサーバー負荷を考慮し100になっています。

さらに、HTTP/2ではストリームの優先度を設定できるので、重要なストリームの優先度を高めて、特定のリソースを早めに取得する、といったこともできるようになりました。

ヘッダ圧縮

昨今の通信では、HTTPのボディだけでなくヘッダ自体も膨張する傾向にあり、ヘッダを圧縮する必要性も高まってきました。
HTTP/2では、HPACKと呼ばれる圧縮方式でヘッダを圧縮し、重複するヘッダ項目の中から送信が必要なヘッダのみを差分として抽出して送信する方法に変更されたため、転送量が削減されました。

サーバープッシュ

通常はブラウザからのリクエストに応じて、サーバーが必要なコンテンツを返します。
しかし、HTTP/2ではクライアントからのリクエスト内容をもとに、サーバー側で必要ファイルを判別して事前にクライアントに送信できます。例えば、リクエストしたHTMLにjavascriptファイルの読み込み記載があった場合、そのjavascriptファイルを最初のHTMLリクエストの段階で送信しておくといった具合になります。

HTTP/2で通信されているかどうかの確認方法

現在の通信がHTTP/2かどうかを手早く確認する方法があります。
Firefoxを起動し、画面右上のメニューから「開発者ツール」をクリックし、「開発者ツールを表示」を選択します。

開発者ツールの「ネットワーク」をクリックし、指定のリクエストをクリックします。
「ヘッダ」に記載されているバージョンがHTTP/2.0であればHTTP/2を利用していることになります。
正式名称のHTTP/2ではなく、HTTP/2.0と表記されている点については疑問が残りますが、「バージョン」という意味で分かりやすくHTTP/2.0と記載しているのかもしれません。

まとめ

今回は、HTTP/2の概要と特徴などをご紹介しました。
HTTP/2を利用する際には、HTTP/2に対応したWEBサーバモジュールおよびTLS(SSL)が必要になる等、若干導入の敷居が高いように感じました。ただし、通信パフォーマンスの向上やGoogleが推奨している点を踏まえると、導入するメリットは大いにありそうです。

執筆者 / 監修者

サクラサクマーケティング
株式会社

取締役 社長

ねぎお社長 (根岸雅之)

ねぎお社長 (根岸雅之)イラスト

サクラサクマーケティング株式会社 取締役社長 COO

1980年生まれ 大学卒業後、一貫して、広告・マーケティング業界に身を置く。2006年にSEM コンサルタントとして、インターネット総合代理店、株式会社オプトに入社。リスティング、ディスプレイ広告の運用から、SEOの施策提案など主にキーワードマーケティング領域に特化した業務に従事。同年10月に株式会社ブルトア(現サクラサクマーケティング株式会社)に転職。入社後は、営業をはじめ、SEOコンサルティング、新規事業開発、自社マーケ、人事、財務と幅広い領域を経験し、営業部長、執行役員、取締役と経て、2015 年に社名変更とともに取締役社長に就任。

SEOコンサルタントとして大規模サイトから新規サイトまで、売上向上に繋がるコンサルティングを武器に200サイト以上の実績。2023年には『なぜほとんどコンテンツマーケティングは失敗に終わるのか?』を執筆。ねぎお社長のSEOチャンネルをはじめ、YouTube、メルマガ、SNを通じて積極的に情報発信。

◇ 出版書籍

◇ 情報発信

◇ 掲載メディア

◇ 共催セミナー歴

  • オウンドメディアの成功事例とSEOを支える運用型広告の活用
  • 今日から始められるWebマーケティング~コンテンツマーケティングとGoogle マイビジネス~
  • GMO TECH × サクラサク共催セミナー~テクニカルSEOとコンテンツマーケ~
  • リモート環境下においても売上・利益が成長し続ける組織創りと営業戦略

関連記事

ブログ一覧

あっ!と思ったら
サクラサク
ご相談ください

まずは無料相談へのお申し込みがおすすめです。ベテランコンサルタントが直接対応いたします。

お電話でご相談の方はこちら

03-5776-2775

03-5776-2775

SEO・記事制作なら、
サクラサクにお任せください!

ご相談こちら
×