HTTP-Modul

Was ist das HTTP-Modul?

Das HTTP-Modul ist ein in Node.js integriertes Modul für den Transfer von Daten über das HTTP-Protokoll (HyperText Transfer Protocol). Mit Hilfe des HTTP-Moduls kann Node.js als Webserver fungieren. Dazu wird mit dem HTTP-Modul ein HTTP-Server erstellt, der auf einem konfigurierbaren Server-Port auf Anfragen wartet und eine definierbare Antwort zurück gibt:

Das HTTP-Modul verwenden

HTTP-Modul einbinden

Das HTTP-Modul wird mit „require(‚http‘)“ eingebunden:

Webserver erstellen

Ein Webserver kann mit „http.createServer(function(req, res) { … }).listen(port);“ erstellt werden. Die Funktion in der Klammer von „createServer“ ist eine sog. Callback-Funktion, die ausgeführt wird, wenn der Server eine Anfrage erhält:

Anfrage verarbeiten

Der erste Parameter der Callback-Funktion enthält Informationen zur Anfrage an den Server. Mit „req.url“ kann der Teil der URL nach der Domain ausgelesen werden:

Antwort senden

Die Antwort kann über den zweiten Parameter der Callback-Funktion gesendet werden. Soll die Antwort als HTML ausgegeben werden, sollte zuvor mit „res.writeHead(200, {‚Content-Type‘: ‚text/html‘})“ ein HTTP-Header mit dem Inhaltstyp (Content-Type) „text/html“ ausgegeben werden:

Beispiel ausführen

Das Beispiel kann nun in der Kommandozeile des Betriebssystems mit „node datei.js“ ausgeführt werden. Danach kann in einem Webbrowser mit „localhost:port/name“ die Anfrage an der Server gestellt werden:

Kommandozeile:

Webbrowser:

Quellen