ブログ

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

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

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

この記事の目次

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が推奨している点を踏まえると、導入するメリットは大いにありそうです。

◇この記事もおすすめ!
・SEO対策(検索エンジン最適化)とは~上位表示を実現する為のSEOとは?Googleの本質を理解し、自社サイトを強化する





■関連情報:サクラサクマーケティングのSEOコンサルティングサービス
中小・ベンチャー企業の売上をサポートするSEO対策低価格・高品質なSEOコンサルティング

無料メルマガのご登録(無料)

SEOの最新情報を無料でお届けします!





プライバシーポリシー

監修者:笹本 雅人

記事一覧

SEOシニアコンサルタント

2013年株式会社ブレインネットに入社し、会社合併を経てサクラサクマーケティング株式会社に合流した後も現在に至るまでSEOコンサルタントとして大小問わず様々なクライアントの集客向上に貢献。

特にシステム開発がからむSEOを得意としているほか、自社メディアのブログの作成・監修を行い、数多くのキーワードで上位表示を達成している。



無料資料ダウンロード

サービス資料ダウンロード

用語集

ソースコード集

お役立ちリンク集

無料メルマガのご登録(無料)

SEOの最新情報を無料でお届けします!





プライバシーポリシー

お役立ちツール

カテゴリ一覧

タグクラウド

新着記事一覧

  1. ウェブマスターオフィスアワーまとめ(2019年8月9日)

    8月9日のウェブマスターオフィスアワーが行われました。 Googleの金谷さんとあんなさんが発言した内容をまとめます。 目次 イベント告知金谷さんのツイートピックアップ10年前のサイトも検索に表示される7月から新規サイト […]...

    1. Google検索品質評価ガイドラインの要約とSEOへの活用方法

      Googleの検索品質評価ガイドラインとは、Googleが自身の検索エンジンの品質を評価するために、外部の品質評価者に向けて評価方法を説明した資料のことです。 検索品質評価ガイドラインには、Googleがどのようなページ […]...

      1. サクラサクラボ7月のツイートまとめ

        当サイトのツイッターアカウント(@sakurasakulabo)のツイートから、7月のイベントを振り返ります。 ツイッターのフォローはこちらからお願いします。 Follow @sakurasakulabo 目次 robo […]...

おすすめコンテンツ

  1. コンテンツマーケティングとは?特徴と事例、社内でできる方法を解説します

    ここ数年で急激にコンテンツマーケティングという言葉を聞くようになりました。しかし、「興味があるがまだ着手できていない」という人や、「そもそもどんなコンテンツを作ればいいのかわからない」、「社内で運用しているが成果がでない […]...

    1. SEO対策(検索エンジン最適化)とは~Googleで上位表示を実現する方法

      目次 1. SEO(Search Engine Optimization:検索エンジン最適化)とは 2. SEOの現在(検索エンジン最適化≒Google最適化) 3. Google Search Consoleの活用とS […]...

      1. SEOに強いコンテンツは回答性×網羅性×文字数×ユーザー体験

        目次 SEOに強いコンテンツとは回答性網羅性文字数ユーザー体験[回答性×網羅性×文字数×ユーザー体験]を考慮したSEOに強いコンテンツ制作お問い合わせフォーム SEOに強いコンテンツとは 検索エンジンで上位表示をさせるた […]...

最新情報を取得する

PAGE TOP