SPDY(スピーディー)は、Google が提唱している World Wide Web の通信プロトコル。HTTP/2 の起草となった。最後のバージョンはSPDY Protocol - Draft 3.1SPDY Protocol - Draft 3.1。SPDY は 3.1 が最後のバージョンとなり、SPDY/4 は HTTP/2 に吸収された。
概要 HTTPを基にして高速化を行ったプロトコルである。TLS接続の上にセッション層を追加し、単一のSPDYセッションで複数のリクエストを送受信する。さらに、ウェブブラウザがページを表示する際、付随するデータの先読みを行う機能も追加している。セキュリティ機能も強化する。プロトコル的にはTLSの拡張仕様の一つであるApplication-Layer Protocol Negotiation (ALPN) をベースにしているため、HTTPSを使っての通信が必須である。
2015年現在は、独立したプロトコルとして一部のウェブブラウザやWebサーバで実装が進んでいるほか、後継のHTTP/2がIETFにおいて として標準化されている。
プロトコルは下記の4種類作られた。 SPDY/1SPDY Protocol - Draft 1 - The Chromium Projects - 2009年11月11日発表 SPDY/2SPDY Protocol - Draft 2 - The Chromium Projects SPDY/3SPDY Protocol - Draft 3 - The Chromium Projects SPDY/3.1SPDY Protocol - Draft 3.1 - The Chromium Projects
実装状況 クライアント 下記ウェブブラウザで、デフォルト設定で SPDY を用いた通信に対応している。HTTP/2 (SPDY/4) については HTTP/2 を参照。 Internet Explorer 11 にて SPDY/3。ただし Windows 7, Windows Server 2008 R2 では未対応。 Google Chrome・Chromium 10 以降Chromium SPDY client implementation.Chromium: SPDY proxy examples.。2016年に SPDY と NPN のサポートを終了し、HTTP/2 および ALPN に移行する予定 Mozilla Firefox 11 より SPDY/2(13よりデフォルトで有効)、15より SPDY/3、27より SPDY/3.1。28以降で SPDY/2 のサポートを終了 Safari 8 以降(OS X 10.10およびiOS 8以降におけるサードパーティー製アプリも含む)において SPDY/2、3、3.1 Opera 12.10 以降 Android ブラウザ 3.0 以降 cURL
サーバ Jetty 7.6.2および8.1.2以降Jetty Feature SPDY node.js Apache mod_spdy Apache Tomcat 8Apache Tomcat 8 - Changelog nginx 1.5.10以前にてSPDY 2、1.5.10よりSPDY 3.1NGINX Announces Support for SPDY/3.1 Retrieved 2014-07-07 F5 Networks BIG-IPF5 Helps Organizations Improve User Experience and Simplify Management with First Integrated SPDY Gateway | About F5 | F5 Networks. F5.com (2012-05-08). Retrieved on 2014-07-07. LiteSpeed Technologies OpenLiteSpeed 1.1よりSPDY 2および3OpenLiteSpeed 1.1 (With SPDY!) Retrieved 2014-07-07.、1.2.7よりSPDY 3.1OpenLiteSpeed 1st Web Server to Support SPDY/3.1! Retrieved 2014-07-07.
脚注
外部リンク SPDY - The Chromium Projects