SPDY: Unterschied zwischen den Versionen
K Textersetzung - „–“ durch „-“ |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
''' | '''SPDY''' - veraltetes experimentelles [[Transmission Control Protocol|TCP]]-basiertes [[Netzwerkprotokoll]], das vom Unternehmen [[Google Inc.|Google]] entwickelt wurde. | ||
== Beschreibung == | == Beschreibung == | ||
'''SPDY''' [{{IPA|ˈspiːdi}}] (von {{enS|''speedy''}} ‚flott‘, ‚flink‘ oder ‚schnell‘) ist ein veraltetes experimentelles [[Transmission Control Protocol|TCP]]-basiertes [[Netzwerkprotokoll]], das vom Unternehmen [[Google Inc.|Google]] entwickelt wurde. SPDY ergänzt hierzu das [[Hypertext Transfer Protocol|HTTP]]-Protokoll. Der im Mai 2015 veröffentlichte [[HTTP/2]]-Standard fußt in weiten Teilen auf SPDY. Nachdem HTTP/2 als Standard ratifiziert wurde, haben wichtige Hersteller, darunter Google, Mozilla und Apple, SPDY zu Gunsten von HTTP/2 eingestellt. Im Jahr 2021 unterstützt kein moderner Browser mehr SPDY. Der neuere [[HTTP/3]]-Standard basiert wiederum auf [[QUIC]], welches ebenfalls ursprünglich von Google entwickelt wurde. | '''SPDY''' [{{IPA|ˈspiːdi}}] (von {{enS|''speedy''}} ‚flott‘, ‚flink‘ oder ‚schnell‘) ist ein veraltetes experimentelles [[Transmission Control Protocol|TCP]]-basiertes [[Netzwerkprotokoll]], das vom Unternehmen [[Google Inc.|Google]] entwickelt wurde. SPDY ergänzt hierzu das [[Hypertext Transfer Protocol|HTTP]]-Protokoll. Der im Mai 2015 veröffentlichte [[HTTP/2]]-Standard fußt in weiten Teilen auf SPDY. Nachdem HTTP/2 als Standard ratifiziert wurde, haben wichtige Hersteller, darunter Google, Mozilla und Apple, SPDY zu Gunsten von HTTP/2 eingestellt. Im Jahr 2021 unterstützt kein moderner Browser mehr SPDY. Der neuere [[HTTP/3]]-Standard basiert wiederum auf [[QUIC]], welches ebenfalls ursprünglich von Google entwickelt wurde. | ||
Zeile 7: | Zeile 8: | ||
Durch die verpflichtende Verschlüsselung werden viele (transparente) Proxys nicht mehr funktionieren. Auch ein Filtern der übertragenen Inhalte wird dadurch stark erschwert. | Durch die verpflichtende Verschlüsselung werden viele (transparente) Proxys nicht mehr funktionieren. Auch ein Filtern der übertragenen Inhalte wird dadurch stark erschwert. | ||
==== Weblinks ==== | ==== Weblinks ==== | ||
# https://de.wikipedia.org/wiki/SPDY | # https://de.wikipedia.org/wiki/SPDY | ||
Zeile 36: | Zeile 13: | ||
# [https://dev.chromium.org/spdy/spdy-whitepaper SPDY-Whitepaper] | # [https://dev.chromium.org/spdy/spdy-whitepaper SPDY-Whitepaper] | ||
# [https://nginx.org/en/docs/http/ngx_http_spdy_module.html nginx spdy] | # [https://nginx.org/en/docs/http/ngx_http_spdy_module.html nginx spdy] | ||
<noinclude> | <noinclude> | ||
[[Kategorie:OSI/7 Application]] | [[Kategorie:OSI/7 Application]] | ||
[[Kategorie:Google]] | [[Kategorie:Google]] | ||
[[Kategorie:Abkürzung]] | [[Kategorie:Abkürzung]] | ||
</noinclude> | </noinclude> | ||
Aktuelle Version vom 6. September 2025, 00:48 Uhr
SPDY - veraltetes experimentelles TCP-basiertes Netzwerkprotokoll, das vom Unternehmen Google entwickelt wurde.
Beschreibung
SPDY [[[:Vorlage:IPA]]] (von ‚flott‘, ‚flink‘ oder ‚schnell‘) ist ein veraltetes experimentelles TCP-basiertes Netzwerkprotokoll, das vom Unternehmen Google entwickelt wurde. SPDY ergänzt hierzu das HTTP-Protokoll. Der im Mai 2015 veröffentlichte HTTP/2-Standard fußt in weiten Teilen auf SPDY. Nachdem HTTP/2 als Standard ratifiziert wurde, haben wichtige Hersteller, darunter Google, Mozilla und Apple, SPDY zu Gunsten von HTTP/2 eingestellt. Im Jahr 2021 unterstützt kein moderner Browser mehr SPDY. Der neuere HTTP/3-Standard basiert wiederum auf QUIC, welches ebenfalls ursprünglich von Google entwickelt wurde.
- Kritik
Die Semantik des Server-Push widerspricht laut Microsoft der von HTTP.[1]
Durch die verpflichtende Verschlüsselung werden viele (transparente) Proxys nicht mehr funktionieren. Auch ein Filtern der übertragenen Inhalte wird dadurch stark erschwert.
Weblinks
TMP
SPDY | |
---|---|
Familie: | ähnlich HTTP in der Internetprotokolle, aber experimentell |
Einsatzgebiet: | Datenpaketversendung sowohl lokal als auch weltweit über verschiedene Netzwerke |
Standards: | n. n. |
Funktionsweise
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.[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.[4]
Implementierung
Clientseitig
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 drei Prozent aller Websites unterstützt.[8] Ab Version 11 und Windows 8.1 unterstützt auch Microsoft Internet Explorer SPDY.
Kommt SPDY auf Firefox-Webbrowsern zum Einsatz, steht im Antwort-Header der Eintrag "X-Firefox-Spdy" mit einem Wert größer oder gleich 1.[9]
TLS False Start wurde in Google Chrome ab Version 20 (2012) deaktiviert; eine Ausnahme bilden Webseiten, die die Next Protocol Negotiation (NPN) unterstützen.[10]
Im Februar 2015 kündigte Google an, dass nach der Ratifizierung des HTTP/2-Standards die Unterstützung für SPDY entfernt werde.[11] Am 15. Mai 2015 wurde HTTP/2 offiziell als RFC 7540 veröffentlicht. Mozilla entfernte die Unterstützung in Firefox 50.[12] Apple entfernte die Unterstützung in macOS 10.14.4 und iOS 12.2.[13]
Serverseitig
Für den Apache HTTP Server konnte SPDY-Unterstützung über das Modul mod spdy nachgerüstet werden. Dieses wurde von Google entwickelt und wurde der Apache Foundation im Jahr 2014 übergeben. nginx unterstützt SPDY 3.1 ab der Version 1.6,[14] ältere Versionen (vor 1.5.10) unterstützen auch das veraltete SPDY/2.
Protokollunterstützung
Für die Nutzung innerhalb von HTTPS benötigt SPDY die TLS-Erweiterung Next Protocol Negotiation, kurz NPN.[15] Aus diesem Grund ist die Unterstützung von SPDY in Browsern und Webservern von der verwendeten SSL-Library und deren Unterstützung von NPN abhängig.
NPN wird von OpenSSL ab Version 1.0.1 unterstützt.[16] Es existieren auch Anpassungen für NSS und TLSLite, die die Unterstützung von NPN ermöglichen.[17]
Protokollversionen
SPDY ist ein versioniertes Protokoll. Es besitzt 15 Steuerbits (innerhalb des Control Frames), die die Version des Sitzungsprotokolls definieren.
- Version 1: diese Version wird nicht mehr verwendet.
- Version 2: Einstellung geplant. Nginx unterstützt SPDY/2 in Versionen vor 1.5.10. Ab Firefox 28 und in neueren Versionen von Google Chrome wurde die Unterstützung bereits eingestellt. Der Webserver OpenLiteSpeed unterstützt SPDY/2 (neben SPDY/3) ab der Version 1.1.
- Version 3: SPDY/3 erweitert das Protokoll um Flusskontrolle und ein aktualisierte Kompression (dictionary). Außerdem wurde die Größe spezifischer Übertragungsrahmen optimiert und Fehler behoben. Firefox unterstützt SPDY/3 ab Version 15, der Internet Explorer ab Version 11.
- Version 3.1: SPDY v3.1 führt die Flusskontrolle für die Sitzungsschicht ein und entfernt den CREDENTIALS-Übertragungsrahmen (und damit verbundene Fehler). Firefox unterstützt die Version 3.1 des Protokolls ab der Version 27 und der OpenLiteSpeed-Server ab der Version 1.2.7. Mit Version 1.5.10 unterstützt auch Nginx die Protokollversion SPDY/3.1.
- Version 4.0: SPDY v4 alpha3 führt das Protokoll näher mit dem HTTP/2-Entwurf zusammen; es besitzt eine neue Flusskontrolle für Datenströme (Streaming) und die Fehlercodes wurden denen von HTTP/2 angeglichen.
- ↑ Microsoft bringt eigenen Vorschlag zu HTTP 2.0 heise.de
- ↑ https://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft2#TOC-Data-flow
- ↑ https://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft2#TOC-SYN_STREAM 3 Bit Prioritäten
- ↑ 4,0 4,1 https://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft2#TOC-Server-Push-Transactions
- ↑ Firefox 11 implementiert SPDY-Protokoll - Artikel vom 14. März 2012.
- ↑ network.http.spdy.enabled true - Link zu Bugzilla, abgerufen am 22. April 2012.
- ↑ Opera 12.10 is out - Opera Developer News.
- ↑ Usage of SPDY for websites - W3Techs.
- ↑ https://bugzilla.mozilla.org/show_bug.cgi?id=736882#c1
- ↑ Vorlage:Cite web
- ↑ Vorlage:Cite web
- ↑ Vorlage:Cite web
- ↑ Vorlage:Cite web
- ↑ Owen Garrett: NGINX 1.6 and 1.7 released, NGINX, Inc., 24. April 2014.
- ↑ NPN protocol and explanation about its need to tunnel SPDY over HTTPS.
- ↑ Openssl 1.0.1 changelog.
- ↑ Vorlage:Webarchiv.