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: