SPDY
概要
SPDYとは、WebサーバとWebブラウザがデータを送受信するための通信手順(プロトコル)の一つであるHTTPを改良したプロトコル。米グーグル(Google)社が開発し、自社のWebサービスやソフトウェアに採用していたもので、改良版が「HTTP/2」として標準化された。WebサーバとWebブラウザがデータを送受信するには「HTTP」(Hypertext Transfer Protocol)というプロトコルを用いる。これは下位プロトコルとしてTCP(Transmission Control Protocol)を利用し、オプションで暗号化のためにTLS(Transport Layer Security)を用いる。
SPDYは従来のHTTP 1.1の代替として機能するプロトコルで、TCP上で動作し、TLSと組み合わせることを前提としている。主にHTTP通信の高速化と効率化を目指しており、HTTPの代わりに使用することでWebページの読み込み時間が短縮され、サーバの送信負荷も軽減される。
従来のHTTPではクライアントからのリクエスト(要求)に対してサーバがレスポンス(応答)を返すという形式の通信しかできなかったが、SPDYでは接続を確立すると「ストリーム」(stream)という双方向の仮想的な伝送路が開かれ、複数のレスポンスを連続的に返したり、サーバ側から発信(サーバプッシュ)することができるようになる。
HTTPヘッダはデフォルトでデータ圧縮され、また、不要なヘッダは自動的に削除される。クライアントとサーバの通信は単一のTCPコネクションで賄われるためサーバに多数のクライアントが接続しても小さな負荷で処理することができる。
TLS接続開始時の調整メカニズム(ALPN:Application-Layer Protocol Negotiation)の利用を想定しており、SPDY非対応ブラウザは自動的にHTTPで通信するよう切り替える構成とすることができる。すべてのブラウザがSPDYに対応していなくてもサーバにSPDYを導入することができる。
初版のSPDY/1は2009年にGoogle社が発表し、検索エンジンなど同社のWebサービスおよび同社製のWebブラウザ「Google Chrome」に試験的に実装された。SPDY自体はバージョン3.1まで改版されたが、後継のSPDY/4はHTTP/2標準の基礎に採用され、RFC 7540として標準化された。