SPDYとは

SPDY(「スピーディ」と発音)は、Googleが開発し、2009年にリリースしたHTTPベースの通信プロトコルです。主な目的は、ますますリッチになるWebコンテンツに対応するため、Webページの読み込み速度を向上させることでした。SPDYは、HTTP/1.1で定義されたメソッドやヘッダーを変更するのではなく、パフォーマンス目標を達成するためにセッションプロトコルを再定義しました。

SPDYの最も注目すべき特長は、単一のTCP接続上で複数の通信を同時に処理できることです。これにより、接続リソースが最適化され、応答時間が短縮されます。SPDYでは、一連のリクエストとレスポンスのやり取りをストリームと呼びます。TLS接続上にセッション層を追加することで、単一のSPDY接続内で複数のストリームを開いたままにでき、同時通信が可能になります。

ストリームはクライアントだけでなくサーバーからも開始できるため、サーバープッシュ機能を実現できます。これにより、サーバーはリクエストを待たずにコンテンツをクライアントへ能動的に送信でき、コンテンツのプリロードによって応答時間を短縮できます。さらに、SPDYはバイナリエンコーディングとヘッダー圧縮を使用して送信データのサイズを削減し、通信速度をさらに向上させます。

SPDYのもう1つの重要な機能は、TLSとの統合によりプロトコルを自動選択できることです。たとえば、SPDY対応サーバーがSPDY非対応ブラウザーと通信する場合、サーバーは自動的にHTTPへフォールバックします。メソッドやヘッダーなど、アプリケーション層のセマンティクスは変更されないため、Webアプリケーションを修正する必要がなく、SPDYへの移行中もシームレスな互換性が確保されます。ただし、SPDYはTLSとの統合を前提としているため、使用にはHTTPSが必須です。

SPDYの機能はHTTP/2の仕様に取り入れられ、HTTP/2は2015年5月にIETFによって標準化され、公開されました。現在では、多くのWebブラウザがHTTP/2に対応しています。SPDYを開発したGoogleは2016年2月11日、ChromeでのSPDYサポートを同年5月15日に終了すると発表しました。SPDYはWebブラウザで広くサポートされ、Googleをはじめとする主要なWebサイトにも実装されましたが、現在のWeb技術ではHTTP/2への移行が中心となっています。