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 を用いた通信に対応している。HTTP/2 (SPDY/4) については HTTP/2 を参照。
- Internet Explorer 11 にて SPDY/3[7]。ただし Windows 7, Windows Server 2008 R2 では未対応[8]。
- Google Chrome・Chromium 10 以降[9][10]。2016年に SPDY と NPN のサポートを終了し、HTTP/2 および ALPN に移行する予定[11]
- Mozilla Firefox 11 より SPDY/2[12](13よりデフォルトで有効[13])、15より SPDY/3[14]、27より SPDY/3.1[15]。28以降で SPDY/2 のサポートを終了[16]
- Safari 8 以降(OS X 10.10およびiOS 8以降におけるサードパーティー製アプリも含む)において 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 Tomcat 8[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.
- ^ Bentzel, Chris; Béky, Bence (2015年2月9日). “Hello HTTP/2, Goodbye SPDY”. Chromium Blog. 2015年2月10日閲覧。
- ^ “Firefox 11 リリースノート” (2012年3月13日). 2013年12月14日閲覧。
- ^ “Firefox 13 リリースノート” (2012年6月5日). 2013年12月14日閲覧。
- ^ “Firefox 15 リリースノート” (2012年8月28日). 2013年12月14日閲覧。
- ^ “Firefox 27 リリースノート” (2014年2月4日). 2014年2月7日閲覧。
- ^ “Firefox 28 ベータ版リリースノート” (2014年2月6日). 2014年2月7日閲覧。
- ^ “What's New in Foundation Networking”. Apple inc.. 2014年7月7日閲覧。
- ^ “Opera 12.10 Changelog” (2012年11月20日). 2013年12月14日閲覧。
- ^ “libspdy”. daniel.haxx.se (2011年10月18日). 2014年7月7日閲覧。
- ^ Jetty Feature SPDY
- ^ “indutny/node-spdy · GitHub”. Github.com. 2014年7月7日閲覧。
- ^ 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日閲覧。
- ^ “mod-spdy - Apache SPDY module - Google Project Hosting”. Code.google.com. 2014年7月7日閲覧。
- ^ Apache Tomcat 8 - Changelog
- ^ “Announcing SPDY draft 2 implementation in nginx”. Nginx (2012年6月15日). 2014年7月7日閲覧。
- ^ NGINX Announces Support for SPDY/3.1 Retrieved 2014-07-07
- ^ 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.
- ^ OpenLiteSpeed 1.1 (With SPDY!) Retrieved 2014-07-07.
- ^ OpenLiteSpeed 1st Web Server to Support SPDY/3.1! Retrieved 2014-07-07.