SPDY

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
SPDY
Familie: ähnlich HTTP in der
Internetprotokollfamilie,
aber experimentell
Einsatzgebiet: Datenpaketversendung
sowohl lokal als auch
weltweit über verschiedene
Netzwerke
SPDY im TCP/IP‑Protokollstapel:
Anwendung SPDY
Transport TCP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI
Standards: n. n.

SPDY [ˈspiːdi] (von englisch speedy ‚flott‘, ‚flink‘ oder ‚schnell‘) ist ein experimentelles, TCP-basiertes Netzwerkprotokoll, das vom Unternehmen Google entwickelt wurde. SPDY soll HTTP nicht komplett ersetzen, aber einzelne Bestandteile erweitern oder ersetzen. Der in der Entwicklung befindliche Standard HTTP/2.0 basierte ursprünglich auf SPDY.

Funktionsweise[Bearbeiten]

Jede SPDY-Übertragung wird mittels TLS verschlüsselt. Ursprünglich war auch die Komprimierung der HTTP-Header mit gzip vorgesehen – was aber aufgrund eines bekannt gewordenen Angriffs von CRIME nicht mehr erfolgen sollte[1]. Einen rund doppelt so schnellen Seitenaufbau erreicht SPDY laut Google vor allem durch das Multiplexen der Übertragungen. Dadurch können über eine einzelne TCP-Verbindung beliebig viele Dokumente parallel übertragen werden.[2] Hier bietet SPDY die Möglichkeit, die einzelnen Anfragen zu priorisieren, um einen Deadlock zu vermeiden oder wichtige Dokumente schneller zu bekommen.[3]

Außerdem kann bei SPDY der Server selbst Übertragungen initiieren und Inhalte direkt und ohne Anfrage an den Client senden (Server push[4]). Damit verbunden können u. a. die Ladezeiten von weiteren Seitenaufrufen verringert werden und eine bessere Auslastung des Netzwerks erreicht werden, da sinnlose Abfragen auf Verdacht entfallen.[5]

Implementierungen[Bearbeiten]

Clientseitig[Bearbeiten]

Google Chrome war der erste Webbrowser mit SPDY-Unterstützung. Mozilla Firefox unterstützt SPDY ab Version 11;[6] ab Version 13 ist es standardmäßig aktiviert.[7] Opera unterstützt SPDY seit Version 12.10.[8] SPDY wird von etwa 0,5% aller Websites unterstützt.[9] Ab Version 11 und Windows 8.1 unterstützt auch Microsoft Internet Explorer SPDY.

Wenn SPDY zur Übertragung zum Einsatz kam, steht im Antwortheader bei Firefox der Eintrag „X-Firefox-Spdy“ mit einem Wert größer oder gleich 1 verzeichnet.[10]

Serverseitig[Bearbeiten]

Für den sehr verbreiteten Webserver Apache gibt es ein Modul namens mod_spdy, welches die SPDY-Unterstützung serverseitig bereitstellt.[11] Auch nginx, eingesetzt bei einigen großen Internet-Services, unterstützt SPDY.[12]

Kritik[Bearbeiten]

Die Semantik des Server-Push widerspricht laut Microsoft der von HTTP.[13]

Durch die verpflichtende Verschlüsselung werden viele (transparente) Proxys nicht mehr funktionieren. Auch ein Filtern der übertragenen Inhalte wird dadurch stark erschwert.

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. arstechnica.com http://arstechnica.com/security/2012/09/crime-hijacks-https-sessions/
  2. http://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft2#TOC-Data-flow
  3. http://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft2#TOC-SYN_STREAM 3 Bit Prioritäten
  4. http://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft2#TOC-Server-Push-Transactions
  5. http://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft2#TOC-Server-Push-Transactions
  6. Firefox 11 implementiert SPDY-Protokoll – Artikel vom 14. März 2012
  7. network.http.spdy.enabled true – Link zu Bugzilla aufgerufen am 22. April 2012
  8. Opera 12.10 is out – Opera Developer News
  9. Usage of SPDY for websites – W3Techs
  10. https://bugzilla.mozilla.org/show_bug.cgi?id=736882#c1
  11. http://code.google.com/p/mod-spdy/
  12. http://nginx.com/blog/nginx-1-6-1-7-released/
  13. Microsofts Vorschlag zu HTTP 2.0