SPDY: Unterschied zwischen den Versionen
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“ |
|||
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 9: | Zeile 9: | ||
== Installation == | == Installation == | ||
== | == Aufruf == | ||
=== Optionen === | === Optionen === | ||
=== Parameter === | === Parameter === | ||
=== | === Umgebung === | ||
=== | === Rückgabewert === | ||
== Anwendung == | == Anwendung == | ||
=== | === Problembehebung === | ||
== Konfiguration == | == Konfiguration == | ||
=== Dateien === | === Dateien === | ||
== Anhang == | == Anhang == | ||
=== Siehe auch === | === Siehe auch === | ||
== | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}}} | {{Special:PrefixIndex/{{BASEPAGENAME}}}} | ||
==== Sicherheit ==== | ==== Sicherheit ==== | ||
==== Dokumentation ==== | ==== Dokumentation ==== | ||
===== RFC ===== | ===== RFC ===== | ||
===== Man- | ===== Man-Page ===== | ||
===== Info-Pages ===== | ===== Info-Pages ===== | ||
==== Links ==== | ==== Links ==== | ||
Zeile 32: | Zeile 32: | ||
===== Projekt ===== | ===== Projekt ===== | ||
===== Weblinks ===== | ===== Weblinks ===== | ||
# https://de.wikipedia.org/wiki/SPDY | |||
# [http://dev.chromium.org/spdy/ SPDY-Projekt] | # [http://dev.chromium.org/spdy/ SPDY-Projekt] | ||
# [http://dev.chromium.org/spdy/spdy-whitepaper SPDY-Whitepaper] | # [http://dev.chromium.org/spdy/spdy-whitepaper SPDY-Whitepaper] | ||
# [http://nginx.org/en/docs/http/ngx_http_spdy_module.html nginx spdy] | # [http://nginx.org/en/docs/http/ngx_http_spdy_module.html nginx spdy] | ||
<noinclude> | <noinclude> | ||
[[Kategorie:OSI/7 Application]] | |||
[[Kategorie:Google]] | [[Kategorie:Google]] | ||
[[Kategorie:Abkürzung]] | [[Kategorie:Abkürzung]] | ||
</noinclude> | </noinclude> | ||
= TMP = | = TMP = | ||
{| class="wikitable float | {| class="wikitable float" | ||
|- | |- | ||
! colspan="2" style="background-color: #C0C0FF; font-size: larger"| SPDY | ! colspan="2" style="background-color: #C0C0FF; font-size: larger"| SPDY | ||
|- | |- | ||
! Familie: | ! Familie: | ||
| ähnlich HTTP in der<br />[[ | | ähnlich HTTP in der<br />[[Internetprotokolle]],<br />aber experimentell | ||
|- | |- | ||
! Einsatzgebiet: | ! Einsatzgebiet: |
Aktuelle Version vom 12. November 2024, 18:43 Uhr
topic - Kurzbeschreibung
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.
Installation
Aufruf
Optionen
Parameter
Umgebung
Rückgabewert
Anwendung
Problembehebung
Konfiguration
Dateien
Anhang
Siehe auch
==
Sicherheit
Dokumentation
RFC
Man-Page
Info-Pages
Links
Einzelnachweise
Projekt
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.[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.[3]
Implementierung
Clientseitig
Google Chrome war der erste Webbrowser mit SPDY-Unterstützung. Mozilla Firefox unterstützt SPDY ab Version 11;[4] ab Version 13 ist es standardmäßig aktiviert.[5] Opera unterstützt SPDY seit Version 12.10.[6] SPDY wird von etwa drei Prozent aller Websites unterstützt.[7] 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.[8]
TLS False Start wurde in Google Chrome ab Version 20 (2012) deaktiviert; eine Ausnahme bilden Webseiten, die die Next Protocol Negotiation (NPN) unterstützen.[9]
Im Februar 2015 kündigte Google an, dass nach der Ratifizierung des HTTP/2-Standards die Unterstützung für SPDY entfernt werde.[10] Am 15. Mai 2015 wurde HTTP/2 offiziell als RFC 7540 veröffentlicht. Mozilla entfernte die Unterstützung in Firefox 50.[11] Apple entfernte die Unterstützung in macOS 10.14.4 und iOS 12.2.[12]
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,[13] ä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.[14] 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.[15] Es existieren auch Anpassungen für NSS und TLSLite, die die Unterstützung von NPN ermöglichen.[16]
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.
- ↑ http://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft2#TOC-Data-flow
- ↑ http://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft2#TOC-SYN_STREAM 3 Bit Prioritäten
- ↑ 3,0 3,1 http://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.