HTTP/2 in Node.js

Node.js-Module: SPDY

Node.js-Module: SPDY

HTTP/2 in Node.js

Node.js-Module: SPDY


Ein Blick auf http://caniuse.com/#search=http2 zeigt, dass Sie sich mittlerweile nur noch wenig Gedanken über den Einsatz von HTTP/2 für Webapplikationen zu machen brauchen. Grundsätzlich müssen Sie beim Umstieg auf HTTP/2 kaum etwas beachten. Webapplikationen funktionieren nach wie vor auf Request-Basis, und auch die übrigen Bestandteile wie Methoden, Header oder Statuscodes bleiben erhalten. Auf Protokollebene tut sich allerdings einiges, und das vor allem zum Vorteil des Benutzers.

Webapplikationen, die mit HTTP/2 ausgeliefert werden, können wesentlich schneller sein als ihre HTTP/1.1-Gegenstücke. Sie können dem Browser beispielsweise mehr Informationen schicken, als er ursprünglich angefordert hat. Diese als Push bezeichnete Methode hat den Vorteil, dass der Browser die für den Seitenaufbau benötigten Daten bereits erhält, bevor er die Seitenstruktur komplett geparst hat. Der Critical Rendering Path kann so verkürzt werden und Benutzer können schneller mit ihrer Applikation interagieren.

Ein weiteres wichtiges Feature ist die Wiederverwendung von Verbindungen. Zahlreiche Optimierungen in HTTP/1.1 zielen darauf ab, möglichst wenige Verbindungen zu einem Server herzustellen. Jeder Verbindungsaufbau kostet wertvolle Zeit. Hinzu kommt, dass die maximale Anzahl von parallelen Verbindungen durch den Browser beschränkt ist. Das bedeutet, dass zu viele gleichzeitige Verbindungen einander ausbremsen. HTTP/2 löst dieses Problem, indem bestehende Verbindungen wiederverwendet werden können und der Verbindungsaufbau somit wegfällt.

HTTP/2 ist also grundsätzlich eine gute Sache – Sie sollten dieses Protokoll früher oder später auch in Ihrer Applikation unterstützen. Nun sind Sie vielleicht gerade dabei, eine Node.js-Applikation zu implementieren. Ein Blick auf das API der Plattform verrät, dass man HTTP/2-Unterstützung vergeblich im Kern von Node. js sucht. Allerdings ist das nicht weiter tragisch, denn es gibt einige Pakete, die mit diesem Missstand aufräumen. Eines der populärsten und stabilsten Module ist das SPDY-Paket.

Installation

Das SPDY-Paket ist, wie die meisten anderen npm-Pakete auch, ein Open-Source-Projekt, das auf GitHub verwaltet wird. Mittlerweile sind seit dem ersten Commit im April 2011 knapp 800 Commits in das Projekt eingeflossen. Das Paket liegt derzeit in Version 3 vor. Installiert wird es wie gewohnt über npm auf der Kommandozeile mit dem Befehl npm install spdy. Sie sollten die Option --save nicht vergessen, um die Abhängigkeit in Ihre package...