SPDY(スピーディ)とは、Googleによって開発され、2009年に公開された、HTTPを元にした通信プロトコルです。開発の目的はWebのリッチコンテンツ化に対応した表示の高速化です。それまでHTTP/1.1で定義されていたメソッドやヘッダを変更することなく、セッションの手順を新たに定義し直すことで、この目的を達成しています。
最大の特徴は、1つのTCP接続で複数の通信を同時に行えるようにすることで、接続リソースの節約とレスポンス速度の改善を実現している点だと言えます。SPDYではリクエストとレスポンスで構成される一連のやり取りを「ストリーム」と呼びます。SPDYはTLS接続の上にセッション層を追加し、単一のSPDY接続の上で、複数のストリームを同時にオープンしたまま、通信を行えます。
ストリームはクライアントからだけではなく、サーバからもオープンできるため、クライアントからのリクエストを待つことなく、サーバ側からコンテンツをプッシュすることも可能です。この「サーバプッシュ」を利用し、コンテンツの先読みを行うことで、レスポンス時間をさらに短縮できます。またバイナリ化やヘッダの圧縮によって、やり取りされるデータ サイズを小さくしており、これも速度向上に貢献しています。
TLS連携によって、プロトコルを自動選択できることも大きな特徴です。例えばSPDY対応サーバがSPDY非対応のブラウザと通信する場合、自動的にHTTPを選択する、といったことが可能です。またアプリケーション レイヤのセマンティクス(メソッドやヘッダの書式や意味)はそのまま継承されているため、Webアプリケーションの変更も必要ありません。そのため互換性を維持したまま、SPDYへと移行することが可能です。ただしSPDYはTLSとの連携を前提としているため、HTTPSの利用が必須条件になります。
SPDYのこれらの特徴は、インターネット技術の標準化推進団体であるIETFが仕様を定め、2015年5月に公開されたHTTP/2に継承されています。すでに多くのWebブラウザがHTTP/2をサポートしており、SPDYを開発したGoogleも2016年2月11日に「ChromeにおけるSPDYサポートを2016年5月15日に終了する」と発表しています。SPDYはこれまで数多くのWebブラウザでのサポートが進み、Googleをはじめとする複数の大規模サイトでの対応も行われていましたが、今後はHTTP/2への移行が進んでいくと予測されます。