SPDY
表示
SPDY︵スピーディー[1]︶は、Google が提唱している World Wide Web の通信プロトコル。HTTP/2 の起草となった。最後のバージョンはSPDY Protocol - Draft 3.1[2]。SPDY は 3.1 が最後のバージョンとなり、SPDY/4 は HTTP/2 に吸収された。
概要[編集]
HTTPを基にして高速化を行ったプロトコルである。TLS接続の上にセッション層を追加し、単一のSPDYセッションで複数のリクエストを送受信する。さらに、ブラウザがページを表示する際、付随するデータの先読みを行う機能も追加している。セキュリティ機能も強化する。プロトコル的にはTLSの拡張仕様の一つであるApplication-Layer Protocol Negotiation (ALPN) をベースにしているため、HTTPSを使っての通信が必須である。 2015年現在は、独立したプロトコルとして一部のWebブラウザやWebサーバで実装が進んでいるほか、後継のHTTP/2がIETFにおいて RFC 7540 として標準化されている。 プロトコルは下記の4種類作られた。 ●SPDY/1[3] - 2009年11月11日発表 ●SPDY/2[4] ●SPDY/3[5] ●SPDY/3.1[6]実装状況[編集]
クライアント[編集]
下記ウェブブラウザで、デフォルト設定で SPDY を用いた通信に対応している。HTTP/2 (SPDY/4) については HTTP/2 を参照。
●Internet Explorer 11 にて SPDY/3[7]。ただし Windows 7, Windows Server 2008 R2 では未対応[8]。
●Google Chrome・Chromium10以降[9][10]。2016年に SPDY と NPN のサポートを終了し、HTTP/2 および ALPN に移行する予定[11]
●Mozilla Firefox11より SPDY/2[12]︵13よりデフォルトで有効[13]︶、15より SPDY/3[14]、27より SPDY/3.1[15]。28以降で SPDY/2 のサポートを終了[16]
●Safari8以降︵OS X 10.10およびiOS8以降におけるサードパーティー製アプリも含む︶において SPDY/2、3、3.1[17]
●Opera 12.10 以降[18]
●Android ブラウザ 3.0 以降
●cURL[19]
サーバ[編集]
●Jetty 7.6.2および8.1.2以降[20] ●node.js[21][22] ●Apache mod_spdy[23] ●Apache Tomcat8[24] ●nginx 1.5.10以前にてSPDY 2[25]、1.5.10よりSPDY 3.1[26] ●F5 Networks BIG-IP[27] ●LiteSpeed Technologies OpenLiteSpeed 1.1よりSPDY 2および3[28]、1.2.7よりSPDY 3.1[29]脚注[編集]
(一)^ “SPDY: An experimental protocol for a faster web”. Chromium Developer Documentation. 2012年8月29日閲覧。
(二)^ SPDY Protocol - Draft 3.1
(三)^ SPDY Protocol - Draft 1 - The Chromium Projects
(四)^ SPDY Protocol - Draft 2 - The Chromium Projects
(五)^ SPDY Protocol - Draft 3 - The Chromium Projects
(六)^ SPDY Protocol - Draft 3.1 - The Chromium Projects
(七)^ “IE11 Changes” (2013年9月24日). 2013年12月14日閲覧。
(八)^ “Microsoft Releases Internet Explorer 11 for Windows 7” (2013年11月7日). 2013年12月14日閲覧。
(九)^ Chromium SPDY client implementation.
(十)^ Chromium: SPDY proxy examples.
(11)^ Bentzel, Chris; Béky, Bence (2015年2月9日). “Hello HTTP/2, Goodbye SPDY”. Chromium Blog. 2015年2月10日閲覧。
(12)^ “Firefox 11 リリースノート” (2012年3月13日). 2013年12月14日閲覧。
(13)^ “Firefox 13 リリースノート” (2012年6月5日). 2013年12月14日閲覧。
(14)^ “Firefox 15 リリースノート” (2012年8月28日). 2013年12月14日閲覧。
(15)^ “Firefox 27 リリースノート” (2014年2月4日). 2014年2月7日閲覧。
(16)^ “Firefox 28 ベータ版リリースノート” (2014年2月6日). 2014年2月7日閲覧。
(17)^ “What's New in Foundation Networking”. Apple inc.. 2014年7月7日閲覧。
(18)^ “Opera 12.10 Changelog” (2012年11月20日). 2013年12月14日閲覧。
(19)^ “libspdy”. daniel.haxx.se (2011年10月18日). 2014年7月7日閲覧。
(20)^ Jetty Feature SPDY
(21)^ “indutny/node-spdy · GitHub”. Github.com. 2014年7月7日閲覧。
(22)^ Fedor Indutny (2012年1月24日). “What the $%@! is SPDY - blog.nodejitsu.com - scaling node.js applications one callback at a time”. blog.nodejitsu.com. 2014年7月7日閲覧。
(23)^ “mod-spdy - Apache SPDY module - Google Project Hosting”. Code.google.com. 2014年7月7日閲覧。
(24)^ Apache Tomcat 8 - Changelog
(25)^ “Announcing SPDY draft 2 implementation in nginx”. Nginx (2012年6月15日). 2014年7月7日閲覧。
(26)^ NGINX Announces Support for SPDY/3.1 Retrieved 2014-07-07
(27)^ F5 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.
(28)^ OpenLiteSpeed 1.1 (With SPDY!) Retrieved 2014-07-07.
(29)^ OpenLiteSpeed 1st Web Server to Support SPDY/3.1! Retrieved 2014-07-07.