Erstellen eines HTTP -Servers in node.js
Erstellen Sie einen node.js http Server
Der vorherige Artikel führte das grundlegendste Node.js -Programm ein. Während das Programm "Hello World" gut ist, wird Node.js häufiger verwendet, um hochskalierbare Serveranwendungen zu erstellen. In diesem Artikel wird ein einfacher HTTP -Server vorgestellt, der auf node.js.
Schlüsselpunkte
- node.js ermöglicht das Erstellen eines einfachen HTTP -Servers. Der Schlüsselschritt besteht darin, eine neue Datei zu erstellen, den entsprechenden Code einzufügen und den Server auszuführen. Auf den Server kann über einen Webbrowser über Localhost oder die IP -Adresse des Geräts zugegriffen werden.
-
Die Funktionalität des
require()
Servers ist in der Methodehttp
(Laden des Moduls) und dercreateServer()
-Methode des -Moduls (Erstellen des Servers und Ausführung der Rückruffunktion für jede neue Anforderung) erstellt. Die Rückruffunktion verwendet zwei Parameter (Anfrage und Antwort), um Clientanforderungen zu verarbeiten und Daten zurückzugeben. -
Der Server verwendet
response.writeHead()
Der Server verwendet dieresponse.write()
-Methode, um den HTTP -Statuscode und den Antwortheader an den Client zurück zu senden, schreibt ihn mitresponse.end()
an die HTML -Seite und beendet die Antwort mitlisten()
. Der Server verwendet die -Methode, um auf eingehende Verbindungen zu hören. Derzeit kann der Server nur eine einzelne HTML -Seite zurückgeben, und zukünftige Verbesserungen können das Lesen von Webseiten aus dem Dateisystem und die Integration der HTTP -Authentifizierung enthalten.
Ausführen des Servers
Erstellen Sie zunächst eine neue Datei mit dem Namen "web_server.js". Fügen Sie den folgenden Code in die Datei ein und speichern Sie:
var http = require("http"); var server = http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/html"}); response.write("<!DOCTYPE html>"); response.write("<html>"); response.write("<head>"); response.write("<title>Hello World Page</title>"); response.write("</head>"); response.write("<body>"); response.write("Hello World!"); response.write("</body>"); response.write("</html>"); response.end(); }); server.listen(80); console.log("Server is listening");
Geben Sie den folgenden Befehl ein, um den Server zu starten. Wenn alles einwandfrei funktioniert, wird eine Nachricht angezeigt, die angibt, dass der Server zuhört. Beachten Sie, dass der Beispielserver versucht, an Port 80 (Standard -HTTP -Port) zu binden. Wenn dieser Port verwendet wurde oder auf Ihrem Computer eingeschränkt ist, werden Sie auf einen Fehler stoßen.
node web_server.js
Der nächste Schritt besteht darin, einen Webbrowser zu verwenden, um eine Verbindung zum Server herzustellen. Starten Sie den Browser Ihrer Wahl und leiten Sie ihn auf eine der folgenden Links. In Netzwerkbegriffen bezieht sich Localhost (und seine IP -Adresse 127.0.0.1) auf die Maschine, die Sie derzeit verwenden. Ihr Browser sollte "Hallo Welt!" Zeigen.
<code>http://localhost http://127.0.0.1</code>
Wie der Server
funktioniert Jetzt, da der Server in Betrieb ist, ist es Zeit, den Code zu analysieren. Das erste, was zu beachten ist, ist der require()
Anruf in Zeile 1. Node.js bietet ein einfaches Modulsystem mit einer riesigen Entwicklergemeinschaft. Das Programm node.js kann die require()
-Methode zum Laden eines einzelnen Moduls verwenden. Während viele Module heruntergeladen werden müssen, sind einige Module (z. B. http
) in der Installation von Node.js enthalten. Verwenden Sie in Zeile 2 die Methode http
des createServer()
-Moduls, um einen HTTP -Server zu erstellen. Wie die meisten Node.js -Funktionen nimmt createServer()
die Rückruffunktion als Argument. Diese Rückruffunktion wird jedes Mal ausgeführt, wenn der Server eine neue Anforderung empfängt. Die Rückruffunktion akzeptiert zwei Parameter: Anfrage und Antwort. Das Anforderungsobjekt enthält Informationen zu Client -Anfragen wie URLs, HTTP -Headern usw. In ähnlicher Weise wird das Antwortobjekt verwendet, um Daten an den Client zurückzugeben. Die Rückruffunktion ruft zuerst die response.writeHead()
-Methode auf. Diese Methode sendet den HTTP -Statuscode und eine Reihe von Antwortkopfzeilen zurück an den Client. Der Statuscode wird verwendet, um das Ergebnis der Anforderung anzugeben. Zum Beispiel hat jeder zuvor einen 404 -Fehler gestoßen, der angibt, dass die Seite nicht gefunden werden kann. Der Beispielserver gibt Code 200 zurück, wodurch der Erfolg angezeigt wird. Zusätzlich zum Statuscode gibt der Server viele HTTP -Header zurück, die die Parameter der Antwort definieren. Wenn Sie keine Header angeben, sendet Node.js sie implizit für Sie. Der Beispielserver gibt nur den Content-Type
-Header an. Dieser spezifische Header definiert den MIME -Typ der Antwort. Für HTML -Antworten lautet der MIME -Typ "Text/HTML". Als nächstes führt der Server mehrere Anrufe an response.write()
aus. Diese Anrufe werden verwendet, um auf HTML -Seiten zu schreiben. Standardmäßig wird eine UTF-8-Zeichenkodierung verwendet. Technisch gesehen können all diese Anrufe zu einem einzigen Aufruf zur Verbesserung der Leistungsverbesserung kombiniert werden. Für ein so einfaches Beispiel wird die Leistung jedoch für die Lesbarkeit des Code geopfert. Nach dem Schreiben auf die HTML -Seite wird die response.end()
-Methode aufgerufen. Indem wir diese Methode aufrufen, teilen wir dem Server mit, dass der Antwortheader und die Körperschaft gesendet wurden und dass die Anfrage abgeschlossen wurde. Der Beispielserver ruft ohne Parameter end()
auf. Wenn Sie jedoch nur einmal anrufen müssen, kann end()
auch wie write()
bezeichnet werden. Der listen()
-Aufruf in Zeile 15 bewirkt, dass der Server an den Port binden und auf eingehende Verbindungen anhört. Computer haben Tausende von Ports, die als Kommunikationsendpunkte fungieren. Um eine Verbindung zum Server herzustellen, muss der Client genau wissen, auf welchem Port der Server hört. Der Port wird von der Portnummer identifiziert, und der HTTP -Server hört normalerweise auf Port 80 an.
Schlussfolgerung
In diesem Artikel wird ein sehr grundlegender HTTP -Server eingeführt. In seinem aktuellen Zustand kann der Server nur eine einzige HTML -Seite zurückgeben. In den nächsten Wochen werden wir in die Welt von Node.js eintauchen und andere Funktionen wie das Lesen von Webseiten von Dateisystemen und die Integration der HTTP -Authentifizierung untersuchen.
FAQ zum Erstellen von HTTP -Servern (FAQ)
Was ist der Zweck der Methode "http.createServer ()" in node.js?
Die http.createServer()
-Methode ist eine integrierte Funktion in node.js, um eine neue Instanz des HTTP-Servers zu erstellen. Dieser Server hört auf eingehende Anfragen zu und sendet eine Antwort. Es dauert eine requestListener
-Funktion als Argument, das automatisch zum "Anfrage" -Erfonds hinzugefügt wird. Diese Funktion wird jedes Mal aufgerufen, wenn der Server eine Anforderung empfängt. Die Funktion requestListener
hat zwei Parameter: request
(eine Instanz von http.IncomingMessage
) und response
(eine Instanz von http.ServerResponse
).
Wie funktioniert die Methode "response.writeHead ()" in node.js?
Die response.writeHead()
-Methode ist eine Funktion in Node.js, die Antwortheader an Anforderungen sendet. Diese Methode akzeptiert zwei Parameter: den Statuscode und ein normales Objekt, das den Antwortkopf darstellt. Der Statuscode ist ein 3-Bit-HTTP-Statuscode, und der zweite Parameter ist ein Objekt, bei dem jedes Schlüsselwertpaar einen Headernamen und seinen Wert darstellt. Diese Methode muss vor response.end()
aufgerufen werden und kann nur einmal pro Antwort aufgerufen werden.
Was ist der Unterschied zwischen "Write" und "WriteShead" in Node.js?
Die Methoden und write
in writeHead
node.js werden verwendet, um Serverantworten zu senden. Die writeHead
-Methode wird verwendet, um einen HTTP -Statuscode und eine Reihe von Antwortheadern zu senden, während die write
-Methode zum Senden eines Antwortgremiums an den Client verwendet wird. Die writeHead
-Methode sollte vor write
aufgerufen werden, beide sollten vor end
aufgerufen werden, und signalisiert den Server, dass alle Antwortheader und der Körper gesendet wurden. end
ist ein einfacher und einfach zu konfigurierter HTTP- oder HTTPS-Server für node.js. Um es zu verwenden, müssen Sie es zunächst mit NPM (Knotenpaketmanager) installieren, indem Sie node-http-server
ausgeführt werden. Nach der Installation können Sie es in die Datei node.js einführen und den Server mit seiner npm install node-http-server
-Methode starten. Die deploy
-Methode nimmt das Konfigurationsobjekt als Parameter ein, in dem Sie Serveroptionen wie Port, Root und ServerIndex angeben können. deploy
In node.js können Sie das
-Modul verwenden, um HTTP -Anforderungen und Antworten zu verarbeiten. Zunächst müssen Sie einen HTTP -Server mit der http
-Methode erstellen. Diese Methode nimmt die Rückruffunktion als Parameter an, der jedes Mal ausgeführt wird, wenn der Server eine Anforderung empfängt. Die Rückruffunktion hat zwei Parameter: http.createServer()
und request
. Mit dem Objekt response
kann es verwendet werden, um Informationen zu Client -Anfragen wie URLs, HTTP -Headern und Nutzlasten zu erhalten. Das request
-Objekt wird verwendet, um eine Antwort an den Client zu senden. Sie können den HTTP -Statuscode und den Header mit der response
-Methode festlegen, den Antwortkörper mit der response.writeHead()
-Methode schreiben und die Antwort mit der response.write()
-Methode beenden. response.end()
Das obige ist der detaillierte Inhalt vonErstellen eines HTTP -Servers in node.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Häufig gestellte Fragen und Lösungen für das Ticket-Ticket-Ticket-Ticket in Front-End im Front-End-Entwicklungsdruck ist der Ticketdruck eine häufige Voraussetzung. Viele Entwickler implementieren jedoch ...

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Es gibt kein absolutes Gehalt für Python- und JavaScript -Entwickler, je nach Fähigkeiten und Branchenbedürfnissen. 1. Python kann mehr in Datenwissenschaft und maschinellem Lernen bezahlt werden. 2. JavaScript hat eine große Nachfrage in der Entwicklung von Front-End- und Full-Stack-Entwicklung, und sein Gehalt ist auch beträchtlich. 3. Einflussfaktoren umfassen Erfahrung, geografische Standort, Unternehmensgröße und spezifische Fähigkeiten.

JavaScript zu lernen ist nicht schwierig, aber es ist schwierig. 1) Verstehen Sie grundlegende Konzepte wie Variablen, Datentypen, Funktionen usw. 2) Beherrschen Sie die asynchrone Programmierung und implementieren Sie sie durch Ereignisschleifen. 3) Verwenden Sie DOM -Operationen und versprechen Sie, asynchrone Anfragen zu bearbeiten. 4) Vermeiden Sie häufige Fehler und verwenden Sie Debugging -Techniken. 5) Die Leistung optimieren und Best Practices befolgen.

Diskussion über die Realisierung von Parallaxe -Scrolling- und Elementanimationseffekten in diesem Artikel wird untersuchen, wie die offizielle Website der Shiseeido -Website (https://www.shiseeido.co.jp/sb/wonderland/) ähnlich ist ...

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

Wie fusioniere ich Array -Elemente mit derselben ID in ein Objekt in JavaScript? Bei der Verarbeitung von Daten begegnen wir häufig die Notwendigkeit, dieselbe ID zu haben ...

Eingehende Diskussion der Ursachen des Unterschieds in der Konsole.log-Ausgabe. In diesem Artikel wird die Unterschiede in den Ausgabeergebnissen der Konsolenfunktion in einem Code analysiert und die Gründe dafür erläutert. � ...
