Heim >Web-Frontend >Front-End-Fragen und Antworten >NodeJS baut einen HTTP-Server auf
Node.js ist eine JavaScript-Ausführungsumgebung, die auf der Chrome V8-Engine basiert und häufig in der Entwicklung von Webanwendungen verwendet wird. In Node.js können wir ganz einfach einen HTTP-Server erstellen und über den Browser auf die Webseiten auf dem Server zugreifen. In diesem Artikel wird erläutert, wie Sie mit Node.js einen HTTP-Server erstellen.
Zuerst müssen wir die Node.js-Umgebung lokal installieren. Sie können die offizielle Website von Node.js https://nodejs.org/ besuchen, um die neueste Version herunterzuladen und zu installieren. Nachdem die Installation abgeschlossen ist, können Sie in der Befehlszeile den folgenden Befehl eingeben, um zu überprüfen, ob die Installation erfolgreich war:
node -v
Wenn die Versionsnummer von Node.js korrekt angezeigt wird, ist die Installation erfolgreich.
Das Erstellen eines HTTP-Servers mit Node.js ist sehr einfach. Sie müssen lediglich das integrierte „http“-Modul von Node.js in eine JavaScript-Datei einführen, einen Server erstellen und den angegebenen Port abhören. Hier ist ein einfaches Beispiel:
const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World! '); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
Der obige Code erstellt einen HTTP-Server und lauscht auf Port 3000. Wenn ein Client auf den Server zugreift, gibt er die Zeichenfolge „Hello World!“ zurück.
Nachdem wir den HTTP-Server gestartet haben, können wir über den Browser auf den Server zugreifen. Geben Sie „http://localhost:3000“ in die Adressleiste des Browsers ein (wenn der Server nicht lokal läuft, ersetzen Sie „localhost“ durch die Server-IP-Adresse) und Sie werden sehen, dass der Browser die Zeichenfolge „Hello World!“ anzeigt.
Das obige Beispiel ist nur das einfachste Beispiel. Tatsächlich müssen wir bei der Verarbeitung von HTTP-Anfragen entsprechende Antworten basierend auf dem Inhalt des Anforderungsheaders und des Anforderungstexts generieren. Das http-Modul von Node.js stellt uns eine API speziell für die Bearbeitung von Anfragen zur Verfügung. Beispielsweise können wir die angeforderte URL-Adresse über req.url und die angeforderte Methode über req.method abrufen. Das Folgende ist ein Beispiel für die Rückgabe verschiedener Nachrichten entsprechend unterschiedlicher URL-Adressen:
const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); if (req.url === '/about') { res.end('This is about page'); } else if (req.url === '/contact') { res.end('This is contact page'); } else { res.end('Hello World! '); } }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
Besuchen Sie „http://localhost:3000/about“. Der Browser zeigt die Zeichenfolge „Hier geht es um die Seite“ an „http://localhost:3000/contact“, Sie sehen die Zeichenfolge „Dies ist eine Kontaktseite“. Besuchen Sie „http://localhost:3000“, Sie sehen die Zeichenfolge „Hallo Welt!“.
Neben der Verarbeitung von GET-Anfragen können wir auch POST-Anfragen verarbeiten und die vom Client an den Server übergebenen Daten speichern. Das http-Modul von Node.js stellt uns außerdem eine API zur Verarbeitung von POST-Anfragen zur Verfügung. Das Folgende ist ein einfaches Beispiel für die Verarbeitung einer POST-Anfrage:
const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { if (req.method === 'POST') { let body = ''; req.on('data', chunk => { body += chunk.toString(); }); req.on('end', () => { console.log(`Received data: ${body}`); res.end('Data received'); }); } else { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World! '); } }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
Bei der Verarbeitung der HTTP-Anfrage ermittelt der obige Code zunächst, ob die Anforderungsmethode POST ist, überwacht das Datenübertragungsereignis und speichert die übertragenen Daten im Hauptteil Variable speichern und nach Abschluss der Datenübertragung ausdrucken. In der Client-HTML-Datei können Sie das Element ff9c23ada1bcecdd1a0fb5d5a0f18437 verwenden, um eine POST-Anfrage zu senden, zum Beispiel:
<!DOCTYPE html> <html> <head> <title>POST Request Example</title> </head> <body> <form action="http://localhost:3000" method="post"> <label for="name">Name:</label> <input type="text" id="name" name="name"><br><br> <label for="email">Email:</label> <input type="email" id="email" name="email"><br><br> <input type="submit" value="Submit"> </form> </body> </html>
Klicken Sie nach dem Ausfüllen des Formulars auf die Schaltfläche „Senden“, und die POST-Anfrage wird an den HTTP-Server gesendet Es werden Daten übermittelt.
Zusammenfassung
Der Aufbau eines HTTP-Servers mit Node.js ist sehr einfach und weist eine gute Skalierbarkeit und Anpassbarkeit auf. In diesem Artikel wird beschrieben, wie Sie einen HTTP-Server erstellen, HTTP-Anfragen und POST-Anfragen verarbeiten. Durch das Erlernen der oben genannten Kenntnisse können wir schnell unsere eigenen Webanwendungen erstellen und effiziente und zuverlässige Webdienste erstellen.
Das obige ist der detaillierte Inhalt vonNodeJS baut einen HTTP-Server auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!