SPDY

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

Category:ウェブ開発
Category:HTTP
Category:アプリケーション層プロトコル
Category:セッション層プロトコル