WebサーバーからWebページを取得するには、HTTPというプロトコル(通信規約)に基づいて通信します。
HTTPはこれまで1999年に公開されたHTTP/1.1が使われてきましたが、パフォーマンスの向上を目的に、2015年に新たにHTTP/2が公開されました。
本記事では、HTTP/2の概要、従来のHTTP/1.1との違いについて、詳しく解説します。
HTTP/2を利用することで、サイトの高速化に役立ててください。
SQL Serverの利用なら
Winserverの共用サーバー!
\ 2週間無料・丁寧な電話サポート/
Windows 共用サーバーを無料で試す
目次
HTTP/2とは?HTTP/1.1との違い
HTTPプロトコルは、Webブラウザを使用してクライアントがWebサーバーとデータのやりとりを行う際の仕様を定めた通信規約です。
HTTP/1とは
HTTP/1.1は、1997年に登場したウェブ通信のためのプロトコルで、長年にわたってインターネットの基盤として広く使用されてきました。
しかし、HTTP/1.1では、一度に一つのリクエストしか処理できません。
例えば、Webサイトに画像や動画など複数のリソースがあった場合、1つ目の画像を読み込んでいる間、他のリソースを読み込むことはできません。
シリアルに1つずつリソースを読み込む流れとなります。
また、このときどのリソースを先にロードするか、といった優先順位付けを行うこともできません。
複数のリソースをロードするには複数のコネクションが必要となるため、Webページに多数のリソースが存在する場合はロードに時間がかかり、パフォーマンスが低下していました。
ヘッドオブラインブロッキング(HOLブロッキング)
HTTP/1.1のコネクションは、複数のリクエストをキューに入れることができます。
しかし「一度に一つのリクエストしか処理できない」ため、キューにたまったリクエストも順番に処理されます。
そのため、例えば先頭のリクエスト処理が遅れると、後続のリクエストも遅れ処理全体の読込速度が低下してしまいます。
ヘッダーの冗長性
HTTP/1.1では、ヘッダー情報が毎回のリクエストとレスポンスで送信されます。
多くのヘッダーフィールドはリクエスト間で変化しないため、この冗長なデータ送信は無駄が多く、特に小さいファイルやAPI呼び出しで効率が悪くなってしまいます。
このような欠点からパフォーマンスが課題となり、新たにHTTP/2が誕生しました。
HTTP/2とは
HTTP/2は、従来のHTTP/1.1からWebのパフォーマンスを向上させるために設計され、2015年に標準化されました。
それまでのWebページは、画像や動画などのリソースを多用したリッチなコンテンツがそれほど多くありませんでした。
しかし、現在では様々なコンテンツが配信され、Webページの容量も多くなり、1回のアクセスで大量にリクエストを投げるため、パフォーマンスが課題となりました。
従来のHTTP/1.1ではプロトコルレベルでの制約が多くあるため、パフォーマンスの向上を目的に、HTTP/2が新しく策定されました。
HTTP/2では「ストリーム」という概念が導入されています。
ストリームは、クライアント・サーバー間のコネクションの中で複数確立することで、リクエスト・レスポンスを並行して同時やりとりすることで、通信効率を向上させることができます。
このストリームはそれぞれ独立されているため、あるストリームでの通信で処理時間がかかっていても、他のストリームに影響を及ぼすことがありません。
この仕組みにより、HTTP/1.1と比べ、効率よく通信を行うことが可能です。
\ 2週間無料でお試しできます! /
共用サーバーを使ってみる
HTTP/2のメリット・デメリット
HTTP/2ではストリームの他に、多くの機能が追加されパフォーマンスが向上しています。
ここでは、HTTP/2の機能に焦点を当て、HTTP/2のメリット、デメリットについて解説します。
HTTP/2のメリット
通信の多重化
HTTP/2では一つの接続で複数のリクエストとレスポンスを同時に送受信できるため、ページのロード時間が短縮されます。
これは、従来のHTTP/1.1で問題となっていた「ヘッドオブラインブロッキング」を解消するものです。
優先度
HTTP/2では、PRIORITYフレームにより、ストリームの優先度を設定することができます。
これにより、CSSなど優先度の高いリソースを先に処理し、ページの表示速度を向上させます。
バイナリフレーミングレイヤー
従来のHTTP/1.1では、テキストベースでデータ交換を行っていました。
HTTP/2では、データ交換を効率化するためにバイナリ形式を採用しています。
この変更により、データの解析と伝送が速くなり、エラーの発生率も低下します。
ヘッダー圧縮
HTTP/2では「HPACK」と呼ばれる圧縮フォーマットを使用して、ヘッダー情報を効率的に圧縮し、通信におけるオーバーヘッドを削減します。
これにより、特にヘッダー情報が重複する多数のリクエストを扱う際に、帯域幅の節約が可能です。
サーバープッシュ
HTTP/1.1では、クライアントからのリクエストを受け付けてから、サーバーがレスポンスを返します。
HTTP/2ではサーバープッシュ機能により、サーバーがクライアントに対してアクティブにリソースを送信することが可能です。
これにより、依存関係のあるリソースを事前にクライアントに提供し、クライアントがリクエストすることで、ページの表示速度が向上します。
\ 2週間無料でお試しできます! /
共用サーバーを使ってみる
HTTP/2のデメリット
HTTP/2がもたらすメリットは多いですが、一部の状況やシナリオではデメリットも存在します。
ここでは、HTTP/2の主なデメリットについて掘り下げます。
・TLSの使用が前提
ほとんどのブラウザにおいて、HTTP/2の接続にはTLSを要求します。
HTTP/2でTLSを使用する場合は、バージョン1.2以上を使用する、圧縮機能を無効にするなどの制限があり、リソース消費が増加します。
これにより、小規模なサイトやリソースに制限のある環境では導入が難しくなる場合があります。
・既存のインフラとの互換性問題
古いシステムや非対応のネットワーク機器を使用しているなど、HTTP/2に対応していないブラウザや機器を使用している場合、HTTP/2を使用することができません。
例えば、サーバー側でHTTP/2に対応していても、ブラウザが対応していなければ、通信はHTTP/1.1で行います。
HTTP/2が向いているサイトとは
HTTP/2に対応すれば、すべてのサイトでパフォーマンスが向上するというわけではありません。
画像や動的ファイルなど、多数のコンテンツが使用されているサイトでパフォーマンスの向上が期待できます。
逆に、画像や動的ファイルが使用されていない、テキストベースのシンプルなサイトでは、リソースが大きくないため、それほどパフォーマンスの向上は期待できないでしょう。
また、サイトのコンテンツを複数のドメイン(サーバー)に分散して保存している「ドメインシャーディング」を使用したサイトでは、それぞれのドメインに対してリクエストをしなければなりません。
その場合は、HTTP/2のメリットを活かすことができず、パフォーマンスの向上は期待できない可能性があります。
\ 2週間無料でお試しできます! /
共用サーバーを使ってみる
HTTP/1.1とHTTP/2の違い
ここでは、HTTP/1.1とHTTP/2の違いについてまとめてみました。
HTTP/1.1 | HTTP/2 | |
リクエストの形式 | テキスト形式 | バイナリ形式 |
リクエストの処理 | 原則1つずつ | 複数同時処理が可能 |
レスポンスの処理 | リクエストを受信してから行う | サーバープッシュにより、リクエストがなくてもレスポンスを送信可能 |
処理の優先度 | 設定できない | 設定が可能 |
ヘッダーの圧縮 | なし | あり(HPACK方式) |
このように、HTTP/2ではパフォーマンス向上につながる機能が新たに追加されています。
まとめ
本記事では、HTTP/2について解説しました。
HTTPはWebサイトを参照する際に行われる重要なプロトコルであり、長らくHTTP/1.1が使われてきました。
しかし、リッチなコンテンツの登場によりパフォーマンスが課題となったため、新たにHTTP/2が誕生しました。
HTTP/2はHTTP/1.1の問題を解消し、リソースが多いリッチなコンテンツを効率よく処理できるよう多数の機能が追加されています。
HTTP/2を使用するためには「クライアント、サーバーともにHTTP/2に対応する必要がある」「必ずしもすべてのサイトのパフォーマンスが向上するわけではない」という点を、覚えておきましょう。
弊社Winserverの共用サーバーなら、HTTP/2でサイトを運営していただけます。
Webサイトやブログを始めるならWinserver!
Winserverは、国内で20年以上の提供実績がある、Windows Server専門のホスティングサービスです。
Microsoft認定のホスティングパートナーで、シルバークラウドプラットフォームコンピテンシーを取得しております。
サーバー稼働率も99.99%と、安心感と安定性を求める方に最適です。
法人・個人問わずに利用者が増えており、今もっとも注目すべきおすすめのホスティングサービスです。
自由な構築と安定した運用が可能なVPS!
Windows VPSは、Webサーバーの構築など、サーバーを管理目的で使用される方におすすめです。
管理者権限があり、サーバー内部の構成を自由に変更することができ、他のユーザーの影響を受けない安定した運用が可能です。
全プランSSD搭載・メモリ完全保証で快適にご利用いただけます。
稼働率も99.99%を誇るため、ビジネスに最適です。
\ 2週間無料でお試しできます! /
Windows VPSを使ってみる
月額990円~!手軽に利用できる共用サーバー!
Winserverの共用サーバーは、手軽にWebサイトやブログを始めたい方におすすめです。
ホームページの公開やメールアドレスの作成などのサーバーの設定から、サーバーの保守管理やメンテナンス等を全てWinserverが対応いたします。
また、WordPressやEC-CUBEなど、人気のCMSをコントロールパネル上から簡単にインストールすることできます。
共用サーバーは専門的な知識が不要で、初心者の方も手軽に利用することができます。
2週間無料トライアルも行っているため、まずはお気軽にお試しください。
\ 2週間無料でお試しできます! /
共用サーバーを使ってみる
Winserverはサポートも充実!
Winserverでは、お客様一人ひとりにあわせて最適なサービスプランをご提案いたします。
電話やメールによるサポートが充実しており、VPSやクラウドを初めてご利用の方の疑問にも専門のスタッフが丁寧にお答えします。
相見積もりも歓迎です。
「サーバーを使ってみたいけど、最適なプランがわからない…」
プランの選択にお困りの際は、ぜひ一度メールやお電話にてお気軽にご相談ください。
お電話でのお問い合わせ:0120‐951‐168
【 平日 】9:00~12:00 / 13:00~17:00
共用サーバー紹介資料
ホームページやブログを公開するために最適な共用サーバーの概要、特徴、料金プランをまとめた資料です。
「WordPress専用プラン」についても紹介しています。
共用サーバー紹介資料
ホームページやブログを公開するために最適な共用サーバーの概要、特徴、料金プランをまとめた資料です。
「WordPress専用プラン」についても紹介しています。