JavaScript-Runtime Node.js 19 hält die HTTP-Verbindung aufrecht
Neben der standardmäßigen Aktivierung von Keep-Alive für HTTP kann Node.js einen automatischen Restart beim Ändern wichtiger Dateien durchführen.
![](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/3/6/2/9/1/1/5/shutterstock_1182881614-434cce3afbd1cd9c.jpeg)
(Bild: NicoElNino/Shutterstock.com)
Die Node.js-Community hat ein halbes Jahr nach Version 18 nun Node.js 19 veröffentlicht. Die Open-Source-Laufzeitumgebung für JavaScript bringt im aktuellen Release ein neues experimentelles Feature mit, das bei Änderungen an wichtigen Dateien einen Neustart des Prozesses ausführt. Außerdem ist die Keep-Alive-Funktion von HTTP automatisch aktiviert.
Passend zur Veröffentlichung geht das im April veröffentlichte Node.js 18 nächste Woche in den Long-term Support (LTS). In der Runtime wechseln jeweils die geraden Versionsnummern zum Release der ungeraden in die LTS-Phase und laufen damit insgesamt drei Jahre, während die ungeraden nach dem Erscheinen der nächsten geraden Nummer ihr End of Life (EOL) erreichen. Node.js 18 läuft daher bis zum 30. April 2025 und Version 19 nur bis zum 1. Juni 2023.
Gehaltene Verbindung
Das aktuelle Release aktiviert standardmäßig keepAlive
. Damit gilt für ausgehende HTTP(S)-Verbindungen das in HTTP/1.1 eingeführte Keep-Alive, das die bestehende Verbindung wiederverwendet und damit typischerweise den Durchsatz verbessert. Standardmäßig ist das Timeout auf 5 Sekunden eingestellt. Der Node.js-HTTP-Server kann bei close()
automatisch inaktive Clients trennen, die Keep-Alive nutzen.
Node.js 19 stabilisiert zudem die bisher als experimentell gekennzeichnete WebCrypto-API, die über globalThis.crypto
oder require('node:crypto').webcrypto
verfügbar ist. Unter der Haube gibt es ein paar Aktualisierungen: Die Laufzeitumgebung verwendet nun Version 10.7 der JavaScript-Engine V8 und Version 8.1.0 der für das HTTP-Parsing zuständigen llhttp-Library.
Dateien unter Beobachtung
Der (fast) neue und noch als experimentell gekennzeichnete Kommandozeilenparameter --watch
hat es genau genommen bereits in die 18-er Reihe der Laufzeitumgebung geschafft, die es ab Version 18.11 kennt. Wenn er aktiv ist, überprüft die Runtime eine Datei auf Änderungen und führt in dem Fall einen Neustart des Prozesses durch:
node --watch index.js
Jenseits der Neuerungen ist erwähnenswert, dass Node.js 19 keine Anbindung mehr für die Analysetools DTrace, SystemTap und ETW (Event Tracing for Windows) bietet. Das Zusammenspiel mit den Werkzeugen auf dem aktuellen Stand zu halten ist offenbar zu komplex.
Weitere Neuigkeiten und Änderungen in Node.js 19 lassen sich dem Blogbeitrag entnehmen. Der Sourcecode sowie Pakete für Windows und macOS finden sich auf der Download-Seite bei nodejs.org.
(rme)