Einführung in Node.js, Folge 13: HTTPS und HTTP/2

Die Protokolle HTTPS und HTTP/2 gewinnen zunehmend an Relevanz, weil sie die übertragenen Daten verschlüsseln und die Identität des Servers verifizieren. Darüber hinaus bietet HTTP/2 einige praktische Funktionen, beispielsweise das Multiplexing von Verbindungen. Wie lassen sich die beiden Protokolle in Node.js verwenden?

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Golo Roden

Die Protokolle HTTPS und HTTP/2 gewinnen zunehmend an Relevanz, weil sie die übertragenen Daten verschlüsseln und die Identität des Servers verifizieren. Darüber hinaus bietet HTTP/2 einige praktische Funktionen, beispielsweise das Multiplexing von Verbindungen. Wie lassen sich die beiden Protokolle in Node.js verwenden?

Nahezu jedes "Hallo Welt"-Beispiel für Node.js beginnt mit der Aufgabe, einen HTTP-Server zu schreiben, und zeigt dann, wie leicht das geht. Weit weniger Aufmerksamkeit wird in der Regel jedoch dem HTTPS-Protokoll zuteil, obwohl es zunehmend an Relevanz gewinnt. Das neue HTTP/2-Protokoll schließlich wird praktisch nie erwähnt.

Mehr Infos

Das ist schade, denn sowohl HTTPS als auch HTTP/2 bilden die Grundlage für die verschlüsselte und daher geschützte Übertragung von Daten. Außerdem ermöglichen sie das Identifizieren des angesprochenen Servers, was ebenfalls dem Schutz des Anwenders und dessen Daten zu Gute kommt. Darüber hinaus bietet das HTTP/2-Protokoll verschiedene praktische Funktionen, beispielsweise das Multiplexing von Verbindungen.

Das Verwenden von HTTPS fällt in Node.js ausgesprochen leicht, da die Laufzeitumgebung ein passendes Modul serienmäßig enthält. Das https-Modul ist weitgehend API-kompatibel zum gängigen http-Modul. Es gilt lediglich, beim Aufruf der createServer-Funktion zusätzlich einen privaten Schlüssel und ein Zertifikat zu übergeben. Diese wiederum lassen sich problemlos mit einem Werkzeug wie openssl erstellen.

Auch für HTTP/2 ist kaum mehr zu leisten. Zwar unterstützt Node.js das Protokoll (noch) nicht serienmäßig, aber es gibt ein passendes npm-Modul namens spdy. Damit geht der Aufwand für einen Wechsel von HTTPS zu HTTP/2 gegen null. Da das Modul sogar einen Fallback auf klassisches HTTPS ermöglicht, spricht kaum etwas gegen dessen Einsatz.

Wie das alles funktioniert, zeigt das folgende Video:

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier eine Vimeo-Video (Vimeo LLC) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Vimeo LLC) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

tl;dr: HTTPS und HTTP/2 sind die Protokolle der Zukunft. In Node.js lassen sich beide ausgesprochen einfach verwenden, entweder über das integrierte https-Modul oder über das spdy-Modul, das auf npm zur Verfügung steht. ()