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. 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.[1] Hier bietet SPDY die Möglichkeit, die einzelnen Anfragen zu priorisieren, um einen Deadlock zu vermeiden oder wichtige Dokumente schneller zu bekommen.[2]

Außerdem kann bei SPDY der Server selbst Übertragungen initiieren und Inhalte direkt und ohne Anfrage an den Client senden (Server push[3]). 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.[4]

Implementierungen[Bearbeiten]

Clientseitig[Bearbeiten]

Google Chrome war der erste Webbrowser mit SPDY-Unterstützung. Mozilla Firefox unterstützt SPDY ab Version 11;[5] ab Version 13 ist es standardmäßig aktiviert.[6] Opera unterstützt SPDY seit Version 12.10.[7] SPDY wird von etwa 3% aller Websites unterstützt.[8] 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.[9]

Serverseitig[Bearbeiten]

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

Kritik[Bearbeiten]

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

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