NodeJS baut einen HTTP-Server auf

王林
Freigeben: 2023-05-11 21:28:37
Original
1325 Leute haben es durchsucht

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.

  1. Node.js installieren

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
Nach dem Login kopieren

Wenn die Versionsnummer von Node.js korrekt angezeigt wird, ist die Installation erfolgreich.

  1. HTTP-Server erstellen

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}/`);
});
Nach dem Login kopieren

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.

  1. Zugriff auf den HTTP-Server

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.

  1. Verarbeitung von HTTP-Anfragen

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}/`);
});
Nach dem Login kopieren

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!“.

  1. Verarbeitung von POST-Anfragen

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}/`);
});
Nach dem Login kopieren

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

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!