Heute surfen wir im Allgemeinen alle mit dem Webprotokoll HTTP 1.1 bzw. HTTPS via SSL Zertifikat.

In den nächsten Jahren soll ein neuer Standard HTTP/2.0 eingeführt werden. HTTP/2.0 basiert auf Googles Protokoll SPDY. Mittlerweile liegt ein inoffizieller Standard für HTTP/2.0 vor, der ausdrücklich zur Implementierung freigegeben wurde. Dieser neue Standard wurde bereits bei der IETF als HTTP 2.0 eingereicht. Für die großen Big Data Webcontent Vorreiter Google, Facebook, Amazon und Ebay ist dieses Protokoll seit ca. einem halben Jahr Standard.

Die Entwickler von SPDY haben sich die Header eines HTTP-Requests näher angeschaut. In der Regel stehen in diesen Headern Informationen, die bei jedem Request übertragen werden, sich aber nicht ändern. Beispielsweise der User Agent, der die Informationen über den Browser, OS etc. enthält, ändert sich in der Regel nicht innerhalb einer Session.

Eine Komprimierung der HTTP-Header bringt nach Angaben in einem Standard HTTP-Request eine Reduzierung um 52% !!!

Vorteile von SPDY:

  • Verbindung immer verschlüsselt
  • Stream Multiplexing
  • Server-Push Funktion
  • Flusskontrolle für Request/Push
  • Kopfzeilen Kompression
  • Reduktion der Kopfzeilen
SPDY Self Test:
Auf der Website https://www.ist-spdy-aktiviert.de  können Sie SPDY durch einen Selbsttest ausprobieren.

Funktionsweise:

Nach der Reduzierung durch Header-Komprimierung ist es den Entwicklern ein Anliegen den TCP-Slowstart zu ändern um mit weniger Paketen den erforderlichen Content downloaden zu können. Das TCP-Flag „initcwnd“ bestimmt dabei die Anzahl der Pakete die bis zum nächsten ACK übertragen werden dürfen. Die Zahl verdoppelt sich nach jeder erfolgreichen Übertragung, bei der es kein Paketverlust gab. Um diesen Slowstart zu umgehen, werden im Moment von den Clients bis zu sechs Verbindungen gleichzeitig aufgebaut. SPDY hingegen macht nur eine Verbindung auf und nutzt multiplexe Streams für den Ressourcen-Download.

Implementierung:

SPDY kann bereits heute produktiv genutzt werden. Viele wissen dies jedoch noch nicht. Um den Integrationsaufwand so einfach wie möglich zu Gestalten, gibt es ein Modul, welches direkt im Apache Kern eingebunden werden kann. Auch für den Ngix Webserver ist bereits ein Implementierungsmodul vorhanden. Die Browser Firefox, Chrome und Internet Explorer 11 unterstützen bereits SPDY. Für den einfachen User ändert sich nichts. Ob eine Webseite SPDY kompatible ist lässt sich durch ein Spezial Tool feststellen, welche den Downstream analysiert. Falls ein Browser kein SPDY unterstützt so wird das Übertragungsprotokoll HTTP bzw. HTTPs verwendet.

Fazit: Leider kennen noch nicht viele Web Developer die Möglichkeiten von SPDY. Sie könnten dadurch ihren Content viel schneller an den User pushen. SPDY bringt einen extremen Performanceschub und sollte heute auf allen größeren Projektpages implementiert werden.

Weitere Informationen und hilfreiche References:
http://dev.chromium.org/spdy/spdy-whitepaper
http://sprachkonstrukt.de/files/2012/08/http2-presentation.pdf 
http://www.eecis.udel.edu/~amer/PEL/poc/pdf/SPDY-Fan.pdf
https://code.google.com/p/mod-spdy/

http://www.cubrid.org/blog/dev-platform/what-is-spdy-deployment-recommendations/  

Keine Kommentare möglich.