
Web が誕生したばかりの頃は、HTTP 接続は比較的高速でしたが、HTTPS 接続は非常に低速でした。
ここ数年、HTTPS 接続の速度は HTTP 接続の速度とほぼ同じであることが多く、目立った違いがないこともあります。
HTTPS 接続の速度が HTTP 接続の速度に匹敵するようになったのは、何が変わったからでしょうか?
答え1
その改善には様々な理由がある
初期接続セットアップ時間HTTPS 接続では、最初の HTTP 接続が確立された後、追加のハンドシェイクが必要です。時間が経つにつれて、接続の待ち時間は短縮されます (モデムの場合は約 100 ~ 200 ミリ秒、DSL の場合は 10 ~ 100 ミリ秒、Fiber-To-The-Home やその他の新しいテクノロジの場合はさらに短くなります)。待ち時間が短縮されると、追加のハンドシェイクが目立たなくなります。
プリフェッチ / 事前接続 最新のブラウザは、ブラウジングの高速化のために、さまざまな種類のプリフェッチと事前接続の方法を使用します。接続はすでに確立されているため、前述のハンドシェイクはまったく目立たない可能性があります。
SPDY のような他のものもここで役立ち、同じアイデアを使用します。
計算能力の向上HTTPS は暗号化のため、より多くの計算リソースを必要とします。より高速な CPU (サーバー側とクライアント側) は、HTTPS の高速化に役立ちます。また、一部のサーバーでは、パフォーマンスを向上させるために特別な暗号化ハードウェアを使用しています。
政策変更HTTP および HTTPS にどのくらいのリソースが費やされるかを決定するポリシーがあります。単純な単一サーバー セットアップの場合、このポリシーは OS スケジューラによって暗黙的に定義されます。複数サーバーまたは複数インターフェイス セットアップの場合、このポリシーも暗黙的であり、各サーバーの帯域幅と CPU に依存する可能性があります。
過去には、HTTPS は特殊かつ高価であると考えられていたため、十分にサポートされていませんでした (たとえば、低速のマシンで実行できないなど)。
しかし、今日では、特に大規模な Web サイトを考えてみると、各サービスをどのように処理し、優先順位を付けるかについて明確なポリシーがあることは間違いありません。また、HTTPS を好む企業 (Google など) が増えているため、ポリシーでもこれを表現しています。