ハイパーテキスト転送プロトコル(Hyper Text Transfer Protocol 、略称 HTTP)は、World Wide Webの基盤であるシンプルで退屈で、拘束層のアプリケーションレイヤープロトコルです。簡単に言えば、HTTPはサイバーワールド全体で利用可能なネットワーク接続リソースの取得を可能にするものです。数十年にわたって進化してきたHTTPは、デジタル通信用の高速で安全で豊かなメディアを配達します。

私たちKinstaは、当社のプラットフォームでホストされているウェブサイトの読み込み時間を最適化することに夢中になっており、以前にこのトピックに関する多数のガイドを公開しています。ウェブサイトの速度の最適化に関する初心者向けガイドをご覧ください。

私たちは常に新しいテクノロジーの最前線にいるため、Kinstaのウェブサイトと管理画面全体がHTTP/2を使用し、すべてのお客様に利用いただける新しいGoogle CloudインフラストラクチャはHTTP/2対応になっています。本広範な情報リソースでは、革新を追及するエンドユーザー、開発者、およびビジネス向けにHTTP/2についてご説明しています。基本情報からより詳細な内容まで、HTTP/2について知っておくべきことをすべてご案内します。

本ガイドでは、HTTP/2の次の主要な側面についてご説明します。

HTTP/2とは?

HTTPは、ウェブサーバーとクライアント間で高いレベルのデータ通信機能を実行するためにシンプルさを念頭に置いて、本アプリケーションプロトコルを設計したWorld Wide WebのパイオニアであるTim Berners-Leeによって最初に提案されました。

最初に文書化されたバージョンのHTTPは、1991年にHTTP0.9という名称でリリースされ、その後の1996年にHTTP1.0が正式に導入されました。1997年にHTTP1.1がリリースされましたが、それ移行に改良はほとんど加えられていません。

HTTPのタイムライン
HTTPのタイムライン

2015年2月、インターネット技術特別調査委員会(Internet Engineering Task Force、省略IETF)のHTTP作業部会はHTTPを改訂し、本アプリケーションプロトコルの2番目のメジャーバージョンであるHTTP/2を開発しました。2015年5月、GoogleのHTTP互換のSPDYプロトコルに対応して、HTTP/2実装仕様が正式に標準化されました。HTTP/2とSPDYの比較は、本ガイド全体で続きます。

プロトコルとは?

HTTP/2とHTTP1の議論の後、本記事で頻繁に使用される「プロトコル」という用語の短い説明もしたいと思います。プロトコルとは、クライアント(インターネットユーザーが情報を要求するために使用するウェブブラウザーなど)とサーバー(要求された情報を含むマシン)間のデータ通信メカニズムを管理する一連のルールのことです。

プロトコルは通常、ヘッダー、ペイロード、フッターの3つの主要部分で構成されます。ペイロードの前に配置されたヘッダーには、送信元アドレスと宛先アドレス、およびペイロードに関するその他の情報(サイズやタイプ)などの情報が含まれています。ペイロードは、プロトコルを使用して送信される情報のことです。ペイロードの後に配置されたフッターは、制御フィールドとして機能して、クライアント/サーバーの要求をヘッダーと一緒に目的の受信者にルーティングし、ペイロードデータがエラーなしで送信されるようにします。

HTTP/2のメール
HTTP/2のメール

このシステムは郵便サービスに似ています。手紙(ペイロード)は、宛先住所手が記載された封筒(ヘッダー)に挿入され、発送前に接着剤と切手(フッター)で封印されます。ただし、「0」と「1」という数値としてデジタル情報を送信することはそれほど単純ではなく、インターネット利用の爆発的な成長に伴って出現する技術進歩に対応して、新たな革新が必要になります。

HTTPプロトコルはもともと、サーバーから情報を取得する「GET」と、要求された情報をクライアントに配信する「POST」という2つの基本的なコマンドで構成されました。データをGETして応答をPOSTする単純で明らかに退屈なコマンドセットは、他のネットワークプロトコルを構築するための基盤も形成しました。このプロトコルは、インターネットユーザーのエクスペリエンスと効率を向上させるためのもう1つの対策であり、オンラインプレゼンスを強化するためにHTTP/2の実装が必要になります。

HTTP/2を作成する目的

1990年代初頭にリリースされて以来、HTTPの主要な改定はあまりありませんでした。最新バージョンのHTTP1.1は、15年以上にわたってサイバーワールドに貢献しています。動的な情報更新、リソース消費の高いマルチメディアコンテンツ、およびウェブパフォーマンスを要求する現在の時代のウェブページは、古いプロトコルテクノロジーを「レガシー」カテゴリに分類しています。これらの傾向により、インターネットエクスペリエンスを向上させるために、HTTP/2の重要な変更点が必要になります。

ウェブサイトの基本
インターネットエクスペリエンス

新しいバージョンのHTTPの研究開発の主な目的は、追加のネットワーキングテクノロジーを必要とせずに、単一のネットワークプロトコルに関連することの少ない3つの品質を中心にしています。これらの目標は、多重化、圧縮、要求の優先順位付け、サーバープッシュなどの手法を使用して、ブラウザー要求の処理におけるレイテンシを削減する機能を導入することにより達成されます。

フロー制御、アップグレード、エラー処理などのメカニズムは、開発者がWebベースのアプリケーションの高いパフォーマンスと回復力を確保できるようにHTTPプロトコルを強化しています。

集約的システムにより、サーバーはクライアントが最初に要求したよりも多くのコンテンツを配信して効率的に応答でき、ウェブサイトがウェブブラウザーに完全に読み込まれるまで、ユーザーが介入して情報を要求し続けることができなくなります。たとえば、HTTP/2のサーバープッシュ機能を使用すると、サーバーは、ページのブラウザーのキャッシュですでに保存された情報以外の完全なコンテンツで応答できます。HTTPヘッダーファイルの効率的な圧縮により、プロトコルのオーバーヘッドが最小限に抑えられ、各ブラウザー要求とサーバー応答のパフォーマンスが向上します。

HTTP/2の変更点は、HTTP1.1との相互運用性と互換性を維持するように設計されています。HTTP/2の利点は、実験に基づいて時間の経過とともに増加し、HTTP1.1との比較でパフォーマンス関連の課題に対処する機能は、長期的にHTTP/2の進化に大きな影響を与えると予想されます。

「…HTTPを完全に置き換えるわけではありません。現在使用しているメソッド、ステータスコード、およびヘッダーの大半は変わりません。代わりに、HTTPの「ネットワーク上」での使用方法を再定義して、より効率的に、インターネット自体により優しくします…」Mark Nottingham、IETFの議長、W3C TAGのメンバー。 出典

HTTPの最新版はHTTP1.1の拡張機能としてリリースされ、近いうちにHTTP1.1を置き換えることは期待されていないことにご注意ください。HTTP/2の実装では、HTTP1.1で使用可能なすべての暗号化タイプの自動サポートが有効になるわけではありませんが、近い将来、より優れた代替策または追加の暗号化互換性アップデートへの扉が開かれます。一方、HTTP/2とHTTP1、またはSPDYとHTTP/2の比較では、パフォーマンス、セキュリティ、信頼性などの点で勝っているのは最新のアプリケーションプロトコルの方です。

 HTTP要求
HTTP要求

HTTP1.1の何が問題でしたか?

HTTP1.1は、TCP接続ごとに1つの未処理の要求のみを処理するように制限されていたため、ブラウザーは複数の要求を同時に処理するように複数のTCP接続を使用する必要がありました。

ただし、同時に使用されるTCP接続が多すぎると、TCPの渋滞が発生し、ネットワークリソースの不当な独占が発生します。複数の接続を使用して追加の要求を処理するウェブブラウザーは、利用可能なネットワークリソースを多く消費してしまうため、他のユーザーのネットワークパフォーマンスが低下します。

HTTP要求
HTTP要求

同じブラウザーから複数のリクエストを発行すると、データ伝送ワイヤでデータが重複し、エンドノードで目的の情報をエラーなしに抽出するために追加のプロトコルが必要になります。

インターネット業界はもちろん、ドメインシャーディング、連結、データのインライン化、スプライトなどの手法を使用して、これらの制約を取り除かなければなりませんでした。基盤となるTCP接続のHTTP1.1と組み合わせた非効率的な使用は、リソースの優先順位付けが適切でないため、ウェブアプリケーションが複雑さ、機能性、およびスコープの点で成長するにつれて、パフォーマンスの指数関数的な低下の原因ともなります。

HTTP/2ドメインシャーディング
ドメインシャーディング

Webは、従来のHTTPベースのネットワーキングテクノロジーの能力をはるかに超えて進化しました。10年以上前に開発されたHTTP1.1の性質は、恥ずかしいパフォーマンスとセキュリティの異常への扉を開きました。

たとえば、HTTP 1.1にはセッションのエンドポイントID機能がないため、クッキーをハックすると、サイバー犯罪者は以前の作業セッションを再利用してアカウントのパスワードを取得することができます。HTTP/2でも同様のセキュリティ問題が引き続き発生しますが、新しいアプリケーションプロトコルは、新しいTLS機能の改善など、より安全なセキュリティ機能で設計されています。

HTTP/2の機能のアップグレード

多重化ストリーム

サーバーとクライアント間で交換されるHTTP/2プロトコルを使用して送信されるテキストフォーマットのフレームの双方向シーケンスは、「ストリーム」と呼ばれます。以前のHTTPプロトコルでは、一度に1つのストリームのみを送信でき、各ストリームの送信間に時間遅延も発生しました。

1つずつ送信した個々のストリームで大量のメディアコンテンツを受信することは、非効率的であるし、リソースも消費します。 HTTP/2の変更により、これらの問題に対処する新しいバイナリフレーミングレイヤーが確立されました。

このレイヤーにより、クライアントとサーバーはHTTPペイロードを独立した、管理可能なインターリーブされたフレームシーケンスに分解できるようになりました。情報は反対側で再構成されます。

HTTP/2のストリーム
HTTP/2のストリーム

バイナリフレーム形式は、連続するストリーム間の待ち時間なしに、複数の同時オープンの独立した双方向シーケンスの交換を可能にします。このアプローチを原因に、HTTP/2には以下で説明するさまざまな利点があります。

  • 同時の多重化された要求と応答は互いに支障をきたしません。
  • 複数のデータストリームを送信しているにもかかわらず、単一のTCP接続を使用して、ネットワークリソースを効果的に利用します。
  • イメージスプライト、連結、ドメインシャーディングなど、ネットワークパフォーマンスの他のエリアを危険にさらす不要な最適化の工夫を適用する必要はありません。
  • 待ち時間の短縮、ウェブパフォーマンスの向上、検索エンジンの掲載順位の向上。
  • ネットワークおよびITリソースに関するOpExおよびCapExの削減。

この機能により、複数のストリームからのデータパッケージは混合され、単一のTCP接続で送信されます。パッケージは受信側で分割され、個別のデータストリームとして提示されます。HTTPバージョン1.1以前を使用して同時に複数の要求を送信するには、複数のTCP接続が必要でした。これは、より多くのデータストリームをより高速で送信しても、ネットワークパフォーマンス全体のボトルネックになります。

HTTP/2 サーバープッシュ

この機能により、サーバーは、要求されていないが将来の要求で予期される追加のキャッシュ可能な情報をクライアントに送信できます。たとえば、クライアントが「X」というリソースを要求したが、「Y」というリソースが要求されたファイルで参照されていることがわかっている場合、サーバーはクライアントの該当する要求を待つのではなく、「X」とともに「Y」もプッシュすることを選択できます。

HTTP/2 プッシュ
HTTP/2 プッシュ

クライアントは、プッシュされた「Y」を将来の使用のためにキャッシュに保存します。 このメカニズムにより、要求と応答のラウンドトリップが節約され、ネットワーク遅延が短縮されます。サーバープッシュは、当初GoogleのSPDYプロトコルで導入されました。 :pathなどの疑似ヘッダーを含むストリームの識別子を使用すると、サーバーはキャッシュ可能でなければならない情報のプッシュを開始できます。クライアントは、サーバーがHTTP/2でキャッシュ可能なリソースをプッシュすることを明示的に許可するか、特定のストリームの識別子でプッシュされたストリームを終了する必要があります。

サーバープッシュなどのHTTP/2の変更点は、クライアントのキャッシュを積極的に更新したり無効化したりします。これは「キャッシュプッシュ」とも呼ばれます。長期的な影響は、クライアントにとって好ましくない、プッシュ可能なリソースを特定するサーバー機能に集中しています。

HTTP/2の実装は、以下で説明するHTTP/2のその他の利点と組み合わせると、プッシュされたリソースに対してパフォーマンスを大幅に改善します。

  • クライアントは、プッシュされたリソースをキャッシュに保存します。
  • クライアントは、これらのキャッシュされたリソースをさまざまなページで再利用できます。
  • サーバーは、プッシュされたリソースを最初に要求された情報と同じTCP接続で多重化できます。
  • サーバーはプッシュされたリソースに優先順位を付けることができます。これは、HTTP/2とHTTP1のパフォーマンスが大幅に異なる重要な要因です。
  • クライアントは、キャッシュされたリソースの有効なリポジトリを維持するために特定のプッシュされたリソースを拒否することも、サーバープッシュを完全に無効にすることもできます。
  • クライアントはまた、同時に多重化されるプッシュされたストリームの数を制限することもできます。

同様のプッシュ機能は、インライン化などのあまりよくない手法ですでに存在しましたが、サーバープッシュは、アプリケーションプロトコル自体のベースライン機能のように効果的でない最適化の工夫による問題を回避するプロトコルレベルのソリューションです。

HTTP/2は、プッシュされたデータストリームを多重化して優先順位を付け、他の要求・応答データストリームで見られるよりも優れた伝送パフォーマンスを保証します。組み込みのセキュリティメカニズムであるため、サーバーがリソースをプッシュすることを事前に承認する必要があります。

承認済みのHTTP/2
承認済みのHTTP/2

バイナリプロトコル

HTTPの最新版は、テキストプロトコルからバイナリプロトコルへの変換などの機能や属性の点で大幅に進化しています。HTTP1.xは、テキストコマンドを処理して要求と応答のサイクルを完了するために使用されます。HTTP/2は、バイナリコマンド(1と0)を使用して同じ機能を提供します。この機能は、フレーミングによる問題の数を減らし、コマンドにテキストとオプションの空間が含まれている混合のコマンドの実装を単純化します。

テキストコマンドと比較すると、バイナリの読み取りにはより多くの労力が必要ですが、ネットワークにとってはバイナリで利用可能なフレームを生成して解析する方が簡単です。セマンティクスは変更されません。

バイナリプロトコル
バイナリプロトコル

HTTP/2を使用するブラウザーは、ネットワークで送信する前に、同じテキストコマンドをバイナリに変換します。バイナリフレーミングレイヤーは、HTTP1.xクライアントおよびサーバーとの下位互換性がなく、SPDYおよびHTTP1.xよりもパフォーマンスが大幅に向上する重要な理由の一つです。バイナリコマンドを使用すると、インターネット企業やオンラインビジネスの主要なビジネス上の利点を実現できます。詳細については、以下で説明するHTTP/2の利点をご覧ください。

  • データ解析のオーバーヘッドが少ないです。これはHTTP/2とHTTP1の重要な価値命題です。
  • エラーが発生しにくいです。
  • ネットワークフットプリントが少なくなります。
  • ネットワークリソースの使用は効果的になります。
  • レスポンスによるキャッシュ偽造など、HTTP1.xのテキストの性質によるセキュリティ課題がなくなります。
  • 圧縮、多重化、優先順位付け、フロー制御、TLSの効果的な処理など、HTTP/2のその他の機能を有効にします。
  • 処理と実装を容易にするためのコマンドのコンパクトな表現。
  • クライアントとサーバー間のデータ処理は効率的で堅牢です。
  • ネットワーク遅延を減らし、スループットを向上させます。

ストリームの優先順位付け

HTTP/2では、クライアントは特定のデータストリームを優先することができます。サーバーはクライアントからの指示に従う必要はありませんが、このメカニズムにより、サーバーはエンドユーザーの要件に基づいてネットワークリソースの割り当てを最適化できます。

HTTP/2 の重み付け
HTTP/2 の重み付け

ストリームの優先順位付けは、各ストリームに割り当てられた「重み付け」と「依存関係」に基づいています。すべてのストリームは本質的に互いに依存していますが、各ストリームにも1〜256の重み付けも割り当てられます。ストリームの優先順位付けメカニズムの詳細はまだ議論中です。

ただし、実生活では、サーバーがCPUやデータベース接続などのリソースを制御することはほとんどありません。実装自体が複雑であるため、サーバーはストリームの優先要求に対応できません。このプロトコルは単一のTCP接続で複数のデータストリームを処理できるため、この分野での研究開発はHTTP/2の長期的な成功において特に重要です。

この機能により、エンドユーザーの観点から見ると、優先度の点で異なるサーバー要求が同時に到着する可能性があります。データストリーム処理要求をランダムに延期すると、HTTP/2が約束した効率とエンドユーザーエクスペリエンスが損なわれます。一方、インテリジェントで広く採用されているストリーム優先順位付けメカニズムには、次のような利点があります。

  • ネットワークリソースの使用は効果的になります。
  • 主要なコンテンツ要求を配信するための時間が短縮されます。
  • ページの読み込み速度とエンドユーザーエクスペリエンスが向上します。
  • クライアントとサーバー間のデータ通信が最適化されます。
  • ネットワーク遅延による悪影響が軽減されます。
HTTP/2 のページ読み込み
HTTP/2 のページ読み込み

ステートフルヘッダー圧縮

ハイエンドのウェブユーザーエクスペリエンスを提供するには、コンテンツとグラフィックスが豊富なウェブサイトが必要です。HTTPアプリケーションプロトコルはステートレスです。つまり、各クライアント要求には、サーバーが該当の操作を実行するために必要なだけの情報を含める必要があります。このメカニズムにより、サーバー自体が以前のクライアント要求からの情報を保存する必要がないように、データストリームに多くの無駄な情報が含まれます。

メディアが豊富なコンテンツを提供するウェブサイトの場合、クライアントは同時に複数のヘッダーフレームを送信し、遅延と限られたネットワークリソースの不必要な消費につながります。優先順位が付けられたデータストリームの組み合わせは、このメカニズムを最適化しないと、並列処理の望ましいパフォーマンス基準を達成できません。

HTTP/2 HPACK 圧縮
HTTP/2 HPACK 圧縮

HTTP/2では、多数の冗長なヘッダーフレームを圧縮する機能でこれらの問題に対処します。ヘッダー圧縮へのシンプルで安全なアプローチとしてHPACK仕様を使用します。クライアントとサーバーの両方が、以前のクライアント/サーバー要求で使用されたヘッダーのリストを保存します。

HPACKは、サーバーに転送される前に各ヘッダーの個々の値を圧縮します。サーバーは、以前に転送されたヘッダー値のリストからエンコードされた情報を検索して、完全なヘッダー情報を再構築します。HTTP/2用のHPACKヘッダー圧縮は、以下で説明するHTTP/2の複数の利点と、優れたパフォーマンス上の利点を提供します。

  • ストリームの優先順位付けが効果的になります。
  • 多重化メカニズムが効果的に利用されます。
  • リソースのオーバーヘッドが削減されます。これはHTTP/2とHTTP1およびHTTP/2とSPDYを比較する議論の中で最初に発生した懸念の一つです。
  • 大きなヘッダーと一般的に使用されるヘッダーをエンコードされるため、ヘッダーフレーム全体を送信する必要がなくなります。各データストリームの個々の転送サイズは急速に縮小されます。
  • 圧縮されたヘッダーでデータストリームを悪用するCRIMEなどのセキュリティ攻撃を受けやすくありません。

HTTP1.xおよびSPDYとの類似点

HTTPステータスコード、URI、方法論、ヘッダーファイルなど、HTTPの基礎となるアプリケーションセマンティクスは、HTTP/2の最新版でも同じままです。HTTP/2は、GoogleのHTTP1.xに代わるSPDYに基づいています。真の違いは、クライアント/サーバー要求の処理に使用されるメカニズムにあります。次の表は、HTTP1.x、SPDY、およびHTTP/2の類似点と改善点をいくつか示しています。

HTTP1.x SPDY HTTP2
SSLは必須ではないが推奨される SSLが必須 SSLは必須ではないが推奨される
暗号化が遅い 暗号化が高速 暗号化がさらに高速
TCP接続ごとに1つのクライアント/サーバー要求 TCP接続ごとに複数のクライアント/サーバー要求。一度に1つのホストで発生。 マルチホスト多重化。複数のホストで同時に発生。
ヘッダー圧縮なし ヘッダー圧縮が導入される パフォーマンスとセキュリティを向上させる改良されたアルゴリズムを使用したヘッダー圧縮
ストリームの優先順位付けなし ストリームの優先順位付けが導入される 改善されたストリーム優先順位付けメカニズムの使用

HTTP/2とHTTPSの連携

HTTPSは、コンピューター、マシン、サーバーなどを接続する超安全なネットワークを確立して、ビジネスや消費者の機密情報を処理するために使用されます。金融取引を処理する銀行と患者の記録を管理する医療機関は、サイバー犯罪の主な標的です。HTTPSは、持続的なサイバー犯罪の脅威に対する効果的なレイヤーとなりますが、高価値の企業ネットワークを標的にしたサイバー攻撃を阻止するために使用される唯一のセキュリティ対策ではありません。

HTTP/2 HTTPS
HTTP/2 HTTPS

HTTP/2ブラウザーのサポートにはHTTPS暗号化が含まれており、HTTPSの全体的なセキュリティパフォーマンスを補完します。TLSハンドシェイクの減少、クライアント側とサーバー側の両方でのリソース消費の減少、HTTP1.xに関連する脆弱性を排除しながら、既存のウェブセッションを再利用する機能の向上などの機能のおかげで、HTTP/2は機密性の高いネットワーク環境でデジタル通信を保護するための重要な要素になります。

HTTP/2 暗号化
HTTP/2 暗号化

HTTPSは有名企業に限定されず、サイバーセキュリティはオンラインビジネスの所有者、趣味でブロガーをしている人、eコマースの運営者、さらにはソーシャルメディアのユーザーにとっても同様に価値があります。HTTP/2は本質的に最新の最も安全なTLSバージョンを必要としているため、すべてのオンラインコミュニティ、ビジネスオーナー、およびウェブマスターは、自分のウェブサイトがデフォルトでHTTPSを使用していることを確保する必要があります。

HTTPSを設定するには、ウェブホスティングプランを使用し、セキュリティ証明書を購入してアクティブ化してインストールした上で、ウェブサイトをHTTPSを使用するように更新します。

HTTP/2の主な利点

インターネット業界は、時代遅れのHTTP1.xを一般ユーザーが体験できる有望な利点を持つ代替品と置き換える必要があります。
HTTP1.xからHTTP/2への移行のほとんど全てが、上記の期待に応えるための技術進歩の潜在能力を最大限に引き出すことに基づいています。オンラインビジネスやインターネットユーザーの観点から見ると、無駄なメディアでいっぱいコンテンツの量が増加しているため、Webの速度は低下しています。
オンラインビジネスが効果的にターゲット市場に参入し、インターネットユーザーがより優れたウェブコンテンツにすばやくアクセスできるように、HTTP/2の変更点がクライアント/サーバーデータ通信の効率を高めるために開発されています。その上、ウェブはこれまで以上に状況に対応しています。

インターネット速度
インターネット速度

インターネットの速度は、すべてのネットワークと地理的な場所で同じであるわけではありません。ますます増加するモバイルユーザーベースは、混雑したセルラーネットワークは高速ブロードバンドインターネットと競合できなくても、すべてのデバイスでスムーズで高性能なインターネットを要求しています。そこで、次の重要な利点を持つ実行可能なソリューションとして、完全に改定されたネットワーキングおよびデータ通信メカニズムであるHTTP/2が登場しました。

ウェブパフォーマンス

この用語は、HTTP/2の変更によるすべての利点をまとめたものです。 HTTP/2のベンチマークの結果(「HTTPS、SPDY、そしてHTTP/2のパフォーマンスベンチマーク」を参照)は、HTTP/2は、以前のバージョンやその他の代替品よりもパフォーマンスが優れていることを示しています。

HTTP/2 パフォーマンスの改善
HTTP/2 パフォーマンスの改善

クライアント/サーバーの通信サイクルごとにより多くのデータを送受信する機能は、最適化の工夫ではなく、HTTP/2のパフォーマンスの点での現実的で実現可能で実用的な利点です。例えてみると、標準の鉄道と真空チューブ列車のような違いです。真空チューブ列車のトンネルからの空気抵抗を排除することにより、より大きなエンジンの取り付け、重量の削減、車両の空力性能の向上に集中する必要なく、利用可能なチャネルの利用を改善して、車両はより速く移動し、より多くの乗客を運ぶことができます。

多重化などのテクノロジーでは、エアバス飛行機の2階にある座席のように、より多くのデータを同時に伝送および送信するための追加のスペースができます。

そして、データ通信メカニズムがウェブパフォーマンスを改善するためにすべてのハードルを排除するとどうなりますか? 優れたウェブサイトパフォーマンスの副産物には、顧客満足度の向上、検索エンジンの最適化の向上、生産性とリソースの利用率の向上、ユーザーベースの拡大、売上高の向上などがあります。

幸いなことに、HTTP/2の採用は、大型の2階建車両の真空チャンバーを作成するよりもはるかに実用的です。

モバイルのウェブパフォーマンス

何百万人ものインターネットユーザーが、サイバーワールドへの主要なゲートウェイとしてモバイルデバイスからWebにアクセスしています。パソコン後の時代は、、手のひらからWebベースのサービスにアクセスするためのスマートフォンの採用とデスクトップコンピュータの前に長時間座っている代わりに、外出先で日常的なコンピューティング作業の大半を実行することを推進しています。

HTTP/2は、現在のWeb使用の傾向を考慮して設計されています。多重化やヘッダー圧縮などの機能は、ユーザーごとに限られた帯域幅を提供するモバイルデータネットワークを介してインターネットサービスにアクセスする際の遅延を減らすのに役立ちます。HTTP/2は、以前はインターネットのデスクトップからの使用の際にのみ提供された高いパフォーマンスとセキュリティでモバイルユーザーのWebエクスペリエンスを最適化します。モバイルユーザーにとってのHTTP/2の利点には、オンラインビジネスがサイバーワールドの顧客をターゲットする点ですぐにプラスの影響をもたらすことがあります。

HTTP/2 モバイル
HTTP/2 モバイル

より安価なインターネット

インターネットの利用料金は、World Wide Webの黎明期から大幅に急落しています。Webへのアクセスの拡大とインターネット速度の向上は、常にインターネット技術の開発の主な目標でした。一方、特に電気通信事業者の独占状態を取り巻く課題を考慮すると、利用料金の改善が止まっているようです。

インターネット利用料金の急落
インターネット利用料金の急落

スループットの向上とデータ通信効率の向上を約束するHTTP/2により、電気通信事業者は高速インターネットの標準を維持しながら運用コストを削減できます。OpExの削減により、電気通信事業者は低価格市場の価格を大幅に引き下げ、既存の価格モデルに高速サービス階層を導入することができます。

広範なリーチ

人口密度の高いアジアとアフリカの市場は、手頃な価格のインターネットへのアクセスが限られており、サービスが行き届いていないままです。インターネットサービス業者は、最高の利益を生み出す都市部や先進国にのみ投資を集中しています。高度なアプリケーションプロトコルの大規模な採用につながるHTTP/2の利点により、ネットワークの混雑が自然に軽減され、サービスが提供されていない遠く離れた地理的場所のためにリソースと帯域幅が節約されます。

帯域幅の地図
帯域幅の地図

メディア豊かなエクスペリエンス

最新のWebエクスペリエンスとは、メディア リッチなコンテンツを超高速のページ読み込み速度で配信することです。インターネットユーザーは、明らかに定期的に更新されるメディア リッチなコンテンツとサービスを要求します。その基盤となるインフラストラクチャのコストの余裕が、サブスクリプションベースのソリューションとしてクラウドを使用して提供される場合でも、インターネットベンチャー企業は必ずしもあるわけではありません。HTTP/2の利点とヘッダー圧縮などの機能は実際のファイルサイズを縮小しませんが、クライアントとサーバー間でリソースを消費するメディアリッチなコンテンツを送信する際に数バイトのサイズのオーバーヘッドを取り消します。

モバイルエクスペリエンスの向上

先進的なオンラインビジネスは、モバイルファースト戦略に従って、爆発的に増加するモバイルユーザーベースを効果的にターゲットにしています。ブラウザー要求の処理にかかる時間が長くなることによって影響を受けるモバイル装置のハードウェアによる制限は、おそらくモバイルWebエクスペリエンスにとって最大の制約でしょう。HTTP/2は、読み込み時間とモバイルネットワークの待ち時間を我慢できるレベルに抑えます。

モバイルファースト
モバイルファースト

テクノロジー利用の改善

ソーシャルメディアのメディア リッチなコンテンツと複雑なウェブデザインを配信するためのブラウザー要求を処理するクライアントおよびサーバーのリソース消費は大幅に増加しています。ウェブ開発者は適切な最適化の工夫を作成しててきましたが、HTTP/2のような堅牢で信頼できるソリューションは避けられませんでした。ヘッダー圧縮、サーバープッシュ、ストリームの依存関係、多重化などの機能はすべて、HTTP/2の主要な利点としてネットワーク利用率の向上に貢献しています。

セキュリティ

HTTP/2は、HPACKアルゴリズムにより、テキストベースのアプリケーションレイヤープロトコルを標的とする一般的なセキュリティ脅威を回避できるため、HTTP/2の利点はパフォーマンスの分野を超えています。HTTP/2はバイナリのコマンドを含み、クライアントとサーバー間で送信される機密データを保護するための「隠蔽によるセキュリティ」アプローチに従うことでHTTPヘッダーのメタデータの圧縮を有効にします。また、このプロトコルは暗号化を完全にサポートしており、データ保護を強化するためにトランスポート層セキュリティ(TLS1.2)の改良バージョンを必要としています。

HTTP/2 セキュリティ
HTTP/2 セキュリティ

革新

HTTP/ は、革新とパフォーマンスの高いWebの概念を具体化しています。HTTP/2は今日のサイバーワールドを支えています。HTTP/2の変更点は主にGoogleのSPDYプロトコルに基づいており、古くなったHTTP1.xから次なる飛躍をして、今後はSPDYと以前のすべてのHTTPバージョンをほぼ完全に置き換えるでしょう。複雑なウェブ最適化の工夫の除去により、HTTP/2のブラウザーのサポートは、ウェブ開発者が高性能のウェブサイトとオンラインサービスを作成するための実行可能なソリューションとなります。

HTTP/2のSEOの観点での利点

SEOマーケティングの分野は、芸術と科学との融合です。従来のブラックハットSEOの手法では、人気のある検索エンジンで使用されるますます複雑化するアルゴリズムによる掲載順位に影響を与えることができません。オンラインビジネスは、この状況に応じてマーケティング戦略を進化させる必要があります。スピードの観点で最適化しただけでなく、優れたパフォーマンス、セキュリティ、ユーザーエクスペリエンスを考慮して設計されたウェブサイトへのスマートな投資が必要になります。これらの特徴は、世界中のターゲットオーディエンスが簡単にアクセスできる、最も正確な情報とサービスを備えた検索クエリを返す手段として推奨されます。

検索エンジン最適化の標準化された業界プロセスは、フロントエンドのマーケティング戦略を超えており、クライアント/サーバー通信のライフサイクル全体をカバーしています。かつてインターネット市場の定番であったSEO対策の一部は、
最新のデジタル通信技術の出現以来、地位を失っています。これらの中で、HTTP/2の普及は、ウェブ開発者やマーケターを白紙に戻してやり直させる主要な構造変化です。

HTTP/2 SEOの観点での利点
HTTP/2 SEOの観点での利点s

HTTP/2のインフラストラクチャの実装と最適化、およびその有望なパフォーマンスの利点は、検索エンジンの最適化の重要な要素になっています。十分なオーガニックなユーザーベースのないオンラインビジネスは、サーバーサイドでのHTTP/2の実装によりさらに改善される掲載順位の革新性と高価値のオンラインサービスの観点で成長しつつあるオンライン企業帝国と競争している際に、HTTP/2とそのSEOへの影響を無視するわけにはいきません。

HTTPS、SPDY、そしてHTTP/2のパフォーマンスベンチマーク

以下のHTTPS、SPDY、そしてHTTP/2のパフォーマンスベンチマークは、最新のアプリケーションプロトコルによるウェブパフォーマンスの向上を明確に示しています。

HTTP/2 パフォーマンスチャートの比較
HTTP/2 パフォーマンスチャートの比較

HTTP/2のベンチマークの結果は、ヘッダー圧縮、サーバープッシュなどのページ速度とユーザーエクスペリエンスを向上させるために使用されるメカニズムが真の実行力があることを証明しています。

テストの詳細:HTTPS、SPDY3.1、およびHTTP/2を比較するこちらのテストは、次の結果を示します。

  • クライアントリクエストヘッダーとサーバーレスポンスヘッダーのサイズ:HTTP/2のベンチマークは、ヘッダー圧縮メカニズムの使用によりヘッダーサイズが大幅に縮小されることを示していますが、SPDYはこの特定のリクエストのサーバーレスポンスで使用されるヘッダーのみを縮小します。HTTPSは、要求コマンドでも応答コマンドでもヘッダーサイズを縮小しません。
  • サーバー応答メッセージのサイズ:一方、HTTP/2のサーバー応答のサイズは大きくなりましたが、その代わりにより強力な暗号化が提供され、セキュリティが向上します。
  • 使用されるTCP接続の数:HTTP/2とSPDYは、複数の同時の要求を処理(多重化)することにより、使用するネットワークリソースを減らし、レイテンシを削減します。
  • ページ読み込み速度:HTTPはSPDYよりも明らかに高速でした。ヘッダー圧縮とサーバープッシュ機能がないため、HTTPSは大幅に遅くなりました。

より良いインターネットの準備:HTTP/2のブラウザーのサポートと可用性

適切なウェブサーバー、ブラウザー、およびモバイルのサポートならすでにHTTP/2対応です。HTTP1.xを実行するテクノロジーは、ウェブサイトにHTTP/2を実装しても影響を受けませんが、新しいプロトコルをサポートするための更新が必要になります。ネットワーキングプロトコルを言語と見なすことができます。新しい言語とのコミュニケーションは、その言語が十分に理解されている場合に限られています。同様に、クライアントとサーバーを、HTTP/2プロトコルを使用したデータ通信をサポートするように更新する必要があります。

クライアントサポート

インターネット利用者は、HTTP/2をサポートするようにデスクトップおよびモバイルウェブブラウザーを構成することについて心配する必要はありません。Google ChromeとFirefoxはこのテクノロジーを長年前に導入してきて、Appleは2014年にSafariウェブブラウザーにHTTP/2ブラウザーサポートを追加しました。Internet Explorerでは、最新のアプリケーションプロトコルをサポートするためにWindows 8を実行する必要があります。

ブラウザーのサポート
ブラウザーのサポート

Androidのふさわしい名前のBrowser、AndroidおよびiOSのChrome、iOS 8以降のSafariなどの主要なモバイルウェブブラウザーは、モバイルウェブアクセスのHTTP/2をサポートしています。アプリケーションプロトコルのHTTP/2のベンチマークで見られるような最大のパフォーマンスとセキュリティの利点を体験できるように、インターネットユーザーは、モバイルおよびデスクトップのウェブブラウザーの最新の安定リリースをインストールすることをお勧めします。

ウェブサーバーのサポート:ApacheとNginx

社内でまたはクラウドでサーバーを実行しているオンラインサービスプロバイダーは、HTTP/2のサポートを追加するためにウェブサーバーを更新および再構成する必要があります。Kinstaのサーバーはもちろん。すでに変更されています!前述の言語の例と同様に、これらのサーバーから配信される情報にアクセスするインターネット訪問者は、ウェブサーバーが更新および再構成されている場合にのみ、HTTP/2を使用できます。

すべてのアクティブなウェブサーバーの66%を占めるNginxサーバーはHTTP/2の組み込みのサポートを提供していますが、Apacheサーバーはmod_spdy モジュールを使用してHTTP/2のブラウザーサポートを提供しています。このモジュールは、Apache 2.2サーバーの多重化やヘッダー圧縮などのSPDY機能をサポートするためにGoogleにより開発されましたが、ソフトウェアがApache Software Foundationに寄贈されました。

HTTP/2 NginxおよびApacheサポート
HTTP/2 NginxおよびApacheサポート

HTTP/2の使用を開始するには

ウェブサイトにHTTP/2を設定するには以下の簡単な手順に従ってください。

ステップ1

  • HTTPSが有効になっていることを確認します。信頼できる発行機関からSSLまたはTLS証明書を購入するか、利用可能であればLet’s Encryptの無料のSSLを利用します。
  • セキュリティ証明書をアクティブ化します。
  • 証明書をインストールします。
  • ウェブサイトを更新してHTTPSプロトコルを有効にします。

Kinstaクのお客様である場合

Kinstaのお客様には、SSL証明書をワンクリックでインストールいただけます。

Let’s Encrypt証明書の追加
Let’s Encrypt証明書の追加

ステップ2

サーバーのソフトウェアなどの基盤となるネットワークインフラストラクチャがHTTP/2をサポートしているかを確認します。NginxサーバーではHTTP/2の組み込みサポートがありますが、Apacheでは組み込みサポートが2015年10月に(バージョン2.4で)追加されました。つまり、ApacheサーバーではHTTP/2のブラウザーサポートを使用したデータ通信を有効にするために追加のモジュールが必要となる場合があります。

注:Kinstaでは、HTTPSを使用するすべてのサイトを対象に、デフォルトでHTTP/2が有効になっています

ステップ3

HTTP/2をサポートするようにサーバーを更新して構成してテストします。Apacheサーバーの構成とテストの手順については、こちらのリソースをご参照ください。HTTP/2がウェブサイトで利用可能であるかどうかについては、ウェブホスティング会社に問い合わせてください。

ステップ4

こちらのツールを使用して、HTTP/2が適切に構成されているかどうかを確認します。

結論

HTTP/2の今後のサイバーワールドにおける支配と覇権は避けられません。このアプリケーションプロトコルは、革新的なデータ転送機能でサイバーワールドを変革したHTTP1.xの遺産を継承するように設計されているようです。HTTP/2は、HTTP1.xが当時データ通信メカニズムに対して確立したイノベーションギャップよりもはるかに上級の技術を備えており、従来のバージョンよりも優れています。

一方、HTTP/2を有効にすることは、ページ速度を向上させるための長い旅の第一歩にすぎません。スピードアップ、パフォーマンスボトルネックの対処、そして優れたウェブパフォーマンスに関連する戦略的なビジネス上の利点については、Kinstaの入門書「ウェブサイトの速度の最適化に関する初心者向けガイド」をご参照ください。