サイト運営などをしていると、「HTTP/1.1」や「HTTP/2」という言葉を耳にすると思います。
実はこの「HTTP/1.1」や「HTTP/2」には大きく違う点があり、それを知らずにCDNサービスを契約したものの、「HTTP/1.1」しか対応していなかったということになれば損してしまうことになるかもしれません!
liteCDNも「HTTP/2」に対応することになったので、この機会にみなさんに「HTTP」についてお話させていただければと思います。
目次
「HTTP」って何なの?
私たちが普段使用しているパソコンは、ハード面ではWindowsやMacなど、ソフト面ではWindowsやLinuxなどのさまざまな環境があります。
HTTPとは、環境が違っても私たちのリクエストがウェブサーバーに届き、ウェブサーバーからウェブブラウザにサイトデータがきちんと送信されるように決められた共通ルールだと考えてください。
また、この共通ルールのことを『プロトコル』といいます。
補足:
HTTPとは、「HyperText Transfer Protocol」の略称です。
「HTTP/1.1」と「HTTP/2」の違いは?
「HTTP/1.1」と「HTTP/2」の違いを以下で紹介していきます。
バイナリプロトコル
「HTTP/1.1」では、テキスト形式で送リクエストされていたため、ウェブサーバーが理解できるバイナリ形式へ、分解・解析(Parse)する必要がありました。
しかし「HTTP/2」では、バイナリ形式でリクエストが送られるため分解・解析(Parse)する必要がありません。
ストリームが多重化
「HTTP/1.1」では、この1つ1つをリクエストして受け取ってから、次の情報をリクエストしなければなりませんでした。
しかし「HTTP/2」では、複数の情報を同時にリクエスト、受け取ることが可能です。
これはストリームという、クライアントとサーバー間を結ぶ、双方向の仮想通信路によって実現しました。
優先度の制御
「HTTP/2」では、ストリームによって複数の処理を同時にできるようになりましたが、「HTTP/2」のすごいところは、そのストリームの優先度を制御できるところです。
これにより、コンテンツの表示(見た目)を優先したいなどが、リクエストによって可能になったのです。
※優先度を制御することを、Priority(プライオリティ)といい、クライアントがその情報をサーバーに送ります。
ヘッダの圧縮
コンテンツの表示は、ファイルのリクエスト・レスポンスを行うたびにHTTPヘッダの送信を行いますが、実はこのHTTPヘッダは大部分が同じ内容だったりします。
それを改善したのが、「HTTP/2」に実装された[HPACK(ヘッダの圧縮式)]です。
これにより、同じ内容のヘッダ情報の中から必要なヘッダの差分(異なる部分)のみを取り出して送信することができるようになりました。
「HTTP/1.1」はもう古い?「HTTP/1.1」の欠点と「HTTP/2」の必要性
前述で「HTTP/1.1」と「HTTP/2」の違いを紹介してきましたが、それによって「HTTP/1.1」の欠点が見えてきました。
・ファイル形式の違いによる「解析」という余分な処理が必要
・送受信できるファイルは1つのみ
・重複した情報が何度も送信される
上記の欠点はすべて、コンテンツ表示の遅延につながるでしょう。
サイト運営者側からすれば、コンテンツ表示の遅延はコンテンツ利用者の満足度の低下、離脱率の低下につながってしまいます。
しかし、その「HTTP/1.1」の欠点を改善できる「HTTP/2」を導入することで、サイトの価値を高めることができるかもしれません。
補足:
Googleの検索順位には、コンテンツ訪問者の離脱率(滞在時間)も関係するといわれています。
CDNサーバーが「HTTP/1.1」だと、どうなる?
「HTTP/2」で通信を行うには、クライアント(ブラウザ側)とウェブサーバー側が「HTTP/2」に対応していなければなりません。
「HTTP/2」に対応していなくても、「HTTP/1.1」での通信になるのでサイトが見られないということはありませんが、サイト表示の遅延につながる可能性があります。
サイト表示の遅延は、流入数や離脱率、CV(コンバージョン)の獲得に影響するのでマーケティング担当者としては見逃すことはできないでしょう。
※CVとは、サイトを介した「購入」、「申込」、「資料請求」、「問い合わせ」などをいいます。
「HTTP/2」に対応しているCDNサービス
現在は、多くのCDNサービスが「HTTP/2」対応となっており、弊社liteCDNも「HTTP/2」に対応済みです。
liteCDN以外の「HTTP/2」に対応しているCDNサービスは以下です。
「HTTP/2」に対応しているブラウザ
CDNサーバーが「HTTP/2」に対応していても、ブラウザのほうが対応していなければ「HTTP/1.1」での通信となります。
「HTTP/2」に対応しているブラウザは以下です。
・IE 11以上
・Microsoft Edge 12以上
・Google Chrome 43以上
・Mozilla Firefox 38以上
・Opera 32以上
・Safari 9以上
「HTTP/1.1」と「HTTP/2」の速度比較
速度測定サイト:https://http2.redbox.ne.jp/?cid=blogredbox
いくら本文で「HTTP/2は早いんだよ!」と伝えても、「本当かよ?」と思われるかもしれません。
上記はCDNサービスを展開しているREDBOXの「HTTP/1.1」と「HTTP/2」の速度比較が行えるコンテンツです。
速度比較した結果は一目瞭然!「HTTP/2」のほうが早いのを確認できますね。
「HTTP/2」を選ぶべきサイトは?
これまでに、「HTTP/2」に変更したらサイト表示が早くなると紹介してきましたが、実はすべてのサイトがそうだとは限りません。
例えばテキストを中心とした静的サイトの場合は、リクエストするファイルが少ないため「HTTP/2」の恩恵はほとんどないでしょう。
それどころか「HTTP/2」のほうが、サイトの表示速度が遅くなってしまう可能性があるのです。
というのも、「HTTP/2」は秘匿性の確保するためにTLSによる暗号化されており、復号化や証明書の確認が必要になるからです。
では、どういったウェブサイトが「HTTP/2」の導入を検討すべきなのか?
それはズバリ、スタイルシート(CSS)、動的ファイル(JavaScriptやPHP)、画像ファイルなどたくさんのファイルで構成されているサイトです!
最近は企業の公式サイトやECサイトは凝ったデザインや、動画や画像をたくさん使ったサイトが増えています。
また個人が運営しているサイトでもWordPressなどのCMSを利用すれば、誰でも簡単にデザイン性のあるサイトを作ることができます。
このことから、「HTTP/2」を導入したほうがよいサイトが増えていると考えられます。
「HTTP」の歴史と「HTTP/2」のデメリット
「HTTP」は、TCP/IP上で動作し、コンテンツに必要な情報を取得できるプロトコルということで使用されはじめました。
1991年に「HTTP/0.9」が誕生してから、1996年に「HTTP/1.0」、1997年に「HTTP/1.1」とバージョンアップを繰り返しています。
その後、サイト表示の高速化や安全性向上を改善するためにGoogleが中心となって開発したSPDYというプロトコルをベースに、「HTTP/2」が生まれました。
「HTTP/1.1」の問題点を改善した「HTTP/2」ですが、TLSによる暗号化が行われた環境でしか使えないことがデメリットとして挙げられます。
つまり「HTTP/2」を使うにはウェブサーバーがSSL化されている必要があるということ…。
実はこのデメリット、CDNサービスを利用するにあたり見逃せないポイントになります。
なぜなら、CDNサービスの提供業者によっては、SSL化するのはオプション料金(別料金)となっていることがあるからです。
ちなみに、liteCDNは「HTTP/2」は対応済み、SSLについても標準装備されているので安心です。
もし「HTTP/2」が導入されているCDNサービスをお探しなら、liteCDNは30日の無料トライアルを用意していますのでご利用ください。