プラカンブログ
プラカンブログ

プラカンブログ

「http/1.1とかhttp/2」の巻

システムのまついです

Googleが完全SSL化を推奨する影響で移⾏案件も増えました。
15年ほど前はSSLを導⼊するサイトはほとんどなかったように思いますし、完全SSL化をしていたサイトは海外の株式・為替を扱う機関だけだったように記憶しています。
ただ、この頃の⼀部の完全SSL化はセキュリティーを考慮するというよりも、サーバー証明書発⾏会社(ベリサイン︓現シマンテック)によって、サーバーの所有者が安全であることの証明を受けたことをアピールするためであったような気がします。

そんな時代から⽉⽇がたち、オンライン決済サービスが始まったあたりからセキュリティーを考慮するようになり、機密情報はSSL通信で⾏うようになりました。
だが、サイト全体をSSL化するのではなく、機密情報を通信する部分だけをSSL通信にするのが⼀般的でした。
なぜかと⾔いますとSSL通信は⾮SSL通信にくらべて遅く、サーバーにも負荷がかかるというのが理由でした。
現在でも、⾮⼒な環境(共⽤レンタルサーバーなど)で多くの画像を表⽰するようなECサイトをSSLでアクセスしますと、スピーディーな表⽰がされないことがわかります。

この表⽰速度の低下は、閲覧環境に合っていない(表⽰に時間のかかる)ページ構成が⼤きな原因ですが、SSL通信にかかる時間も原因となっています。
最新のサーバー環境、PC環境では、サーバー証明書の複合処理や通信⽅式が改善されているので、⾮SSLとSSLとでは⼤きな差がない場合もあります。
速度⽐較参考サイト (右上のHTTP と HTTPS をクリックして試すことができます)

今回は、完全SSL化をさらに完全にするためのサーバー設定(SSL通信の⾼速化)を⾏い、その結果を検証したいと思います。
具体的にはApacheのプロトコルをhttp/1.1からhttp/2にします。
そこでまず、⾔いだしっぺのGoogleさんがちゃんと対応しているかどうかを調べてみた。

下記URLでWEBサイトがHTTP/2に対応しているか確認できます。
WEBサイトがHTTP/2に対応しているか確認する (結果履歴を公開したくない場合はPublicをチェックアウトすること)
URLにhttps://google.co.jp を⼊⼒して試してみた。(URLが http:// ではだめです。HTTP/2はSSLが必須なので https:// で試してください)
はい、HTTP/2サポート済みです。
もちろん、GoogleのAPIやWEBフォントやアナリティックスなど、Googleが提供する主要なサービスもHTTP/2対応となっています。

さて、本題に⼊ります。
検証サーバーは、
IDCフロンティアのIDCFクラウドS1
OS:CentOS 7.5 64-bit
です。
参考にさせていただいたサイトは下記URLです。
完璧な実証記事ですので私が引⽤するより直接参照してもらった⽅がいいいと思います。(感謝します)
あぱーブログ | LinuxやPHPなど、ITシステム関連のブログ
HTTP/2 に対応した Apache を yum でインストール
記事内では⾃⼰署名のSSLサーバー証明書の作成を掲載されていてこれで⼗分ではありますが、この設定 をした後に同じブログ内で過去掲載されている「Letʼs Encrypt サーバー証明書の取得と⾃動更新設定メモ」で無料Letʼs Encrypt証明書を導⼊する事をおすすめします。

http/2プロトコルを実装したサーバーで実際に試してみました。
なお、違いがわかるようにいずれの検証サーバーにおいてMaxClientsを同様に極端に⼩さくして⾮⼒な環境にしている事をご了承ください
検証⽐較サイト(公開を終了しました)
(ブラウザのデバッグツールは閉じてロード時間を確認してください)


なお、⽐較検証のためにapache設定で強制的にキャッシュを無効にしていますが本番ではこの設定は不要です。
httpd.confでインクルードしている00-base.confにて、
#LoadModule headers_module modules/mod_headers.so

LoadModule headers_module modules/mod_headers.so
を有効にして、
下記3⾏を追記してください
FileEtag None
RequestHeader unset If-Modified-Since
Header set Cache-Control no-store
CHromeのデバッグツールを使ってプロトコルを確認しますとhttp/1.1とh2(http/2)に切り替わっています。
ロード時間も HTTP/1.1 SSL >= HTTP/1.1 > HTTP/2 SSLというように短縮されています。
今後の展開としては、
無料のSSL/TLSサーバー証明書がLetʼs Encrypt で取得可能になりましたので、
あとは、レンタルサーバー会社がLetʼs Encryptの導⼊に加え、http/2対応をすることが望まれます。

HTTP/1.1の結果

http-1.png

HTTP/1.1 SSLの結果

http-2.png

HTTP/2 SSLの結果

http-3.png

この記事は MATUI が書きました。

プラカン(PLUS DESIGN COMPANY)が目指す3つの顧客満足

  1. ホームページのできあがりに
    満足していただく

    • お客様のご要望、目的の達成
    • ホームページの利便性や満足度の向上
    • ブランドイメージの向上 など
  2. 仕事の進め方に
    満足していただく

    • スケジュール遅延のないスムーズな進行
    • お客様の理解度、知識、経験に応じた親切で分かりやすい進行
    • セキュリティ意識の高い安全な進行管理 など
  3. サポート・フォーローに
    満足していただく

    • 公開後も安心なサーバー保守、CMS保守、コンテンツの保守管理
    • 集客、コンバージョンを強化するためのアクセスログ解析
    • 集客、コンバージョンを強化するためのコンテンツの改善 など

詳しくはWEBコンサルティングをご覧ください

WEBコンサルティング

ホームページに関するご要望がございましたら、お気軽にご相談ください。

Contact Us

お問い合わせをお考えの方

お問い合わせ

Estimate

お見積りをご希望の方

お見積り

お電話でのお問い合わせ