wie in der Baidu-Enzyklopädie erklärt:
Hyper Text Transfer Protocol (HTTP) ist ein einfaches Anfrage-Antwort-Protokoll, das normalerweise auf TCP läuft. Es gibt an, welche Art von Nachrichten der Client an den Server senden darf und welche Art von Antwort er erhält. Die Header von Anfrage- und Antwortnachrichten werden im ASCII-Format angegeben [9], der Nachrichteninhalt hat ein MIME-ähnliches Format. Dieses einfache Modell war für den frühen Erfolg des Webs verantwortlich, da es die Entwicklung und Bereitstellung sehr einfach machte.
Wenn Sie die Grundlagen von JavaSE gelernt haben,
ist es natürlich in Ordnung, dem gewissenhaften Autor zuzuhören, und lassen Sie mich Ihnen sagen:
Heute
im Jahr 2022 Netzwerke sind zur täglichen Routine der Menschen geworden, sei es E-Mails, Instant Messaging mit Freunden, kurze Videounterhaltung ... Man kann sagen, dass wir mehrere Computer über Computernetzwerke verbinden können.
Computernetzwerke verbinden mehrere Computergeräte unter einem Netzwerk über Übertragungsmedien, Kommunikationseinrichtungen und Netzwerkkommunikationsprotokolle und realisieren so die gemeinsame Nutzung von Ressourcen und die Datenübertragung.
Wenn sich Computer im selben Netzwerk verbinden und kommunizieren, müssen sie jedoch bestimmte Regeln einhalten. In Computernetzwerken werden diese Verbindungs- und Kommunikationsregeln als Netzwerkkommunikationsprotokolle bezeichnet:
Das http-Protokoll, über das wir hier sprechen, basiert auf TCP. Ein häufiges HTTP-Anwendungsszenario besteht darin, dass Sie eine Reihe von Adressen in den Browser eingeben und dann eine Webseite zurückgeben.
1.2. IP-Adresse und Portnummer
Um den Computern im Netzwerk die Kommunikation zu ermöglichen, muss jedem Computer eine Identifikationsnummer zugewiesen werden. Mit dieser Identifikationsnummer kann angegeben werden, welcher Computer Daten empfängt oder welcher Computer Daten sendet.
Überprüfen Sie die IP-Adresse Ihres Computers im LAN. Drücken Sie WIN+R auf dem Windows-Computer und geben Sie cmd ein, um schnell die Konsolen-
IPconfig aufzurufen.
Sie können über die IP-Adresse eine Verbindung zum angegebenen Computer herstellen. Wenn Sie jedoch auf eine Ihrer Anwendungen auf dem Zielcomputer zugreifen möchten, müssen Sie auch die Portnummer angeben.
Zum Beispiel MySQL 3306, TomCat 8080
Node.js stellt das http-Modul bereit. Das http-Modul wird hauptsächlich zum Erstellen von HTTP-Servern und -Clients verwendet. Um die HTTP-Server- oder Client-Funktionen zu verwenden, müssen Sie das http-Modul aufrufen.
2.1, dicke Ansammlung (detaillierte Einführung, detaillierte Einführung der verwendeten Objektmethoden, der gesamte HTTP-Dienstkonstruktionsprozess)
Prozesseinführung:
Verwenden Sie zuerst die Methode createServer (), um das Serverobjekt zu registrieren,
und verwenden Sie dann dieses Serverobjekt, um on( aufzurufen
zunächst
die
Methode listen() auf, um die Portnummer zu binden
Jede Netzwerkdienstanwendung erstellt immer zuerst ein Dienstobjekt. In nodeJS können wir die Methode createServer verwenden, um dies zu erreichen:
// Zuerst das http-Modul importieren const http = require('http'); //Erstelle http-Dienstobjekt const server = http.createServer();
Das vom createServer-Konstruktor zurückgegebene Serverobjekt wird verwendet, um es mithilfe seiner eigenen on()-Methode zu verarbeiten Verarbeitung. Auf diese Weise können wir jede gesendete HTTP-Anfrage verarbeiten.
// Zuerst das http-Modul importieren const http = require('http'); //HTTP-Dienstobjekt erstellen const server = http.createServer(); // Event-Listening binden server.on('request', (request, Response) => { //Glaube immer daran, dass gute Dinge passieren werden! });
Wir haben zuvor (IP-Adresse + Port) eingeführt. Wenn unser Computer mit dem Internet verbunden ist, weist uns der Router die IP-Adresse automatisch über DHCP zu, aber wenn wir auf das angegebene Programm auf dem Computer zugreifen möchten haben auch eine Portnummer.
Um auf das angegebene Programm auf dem Computer zuzugreifen, müssen wir auch die Methode listen() verwenden. Sie müssen lediglich server.listen() verwenden, um die Portnummer als Parameter an die Listen-Methode als Überwachungsport zu übergeben.
// Zuerst das http-Modul importieren const http = require('http'); //HTTP-Dienstobjekt erstellen const server = http.createServer(); // Ereignisüberwachung binden server.on('request', (req, res) => { // Der Inhalt dieser Funktion ist nur ein kleiner Aufruf des res-Parameters, um die Ausführung des Programms verständlicher zu machen // Schreiben Sie einen Antwortheader (der Browser erkennt ihn nicht, wenn Sie ihn nicht schreiben) res.writeHead(200,{'Content-Type':'text/html;charset=UTF8'}); //Antwortdaten senden res.end("<h1>Willkommen bei der Verwendung von node.js zum Erstellen von Diensten</h1>"); }); //Portnummer binden server.listen(8888); //Die Konsole gibt die Adresse aus, um das schnelle Debuggen zu erleichtern console.log('Ihr http-Dienst wird unter http://127.0.0.1:8888/ gestartet');
Code-Ausführungsdemonstration:
Die obige Codedemonstration ist sehr detailliert, es wird jedoch nicht empfohlen, sie Schritt für Schritt zu schreiben.
Folgen Sie als Nächstes dem Autor und lassen Sie uns den Code weiter optimieren, um ihn leistungsfähiger und prägnanter zu machen.
2.2, dünnes Haar (Minimalismus ist König), elegant!
Der Prozess der schrittweisen Registrierung von Objekten ist zu umständlich. Hier verwenden wir eine kleine und schöne Methode, um eine http-Schnittstelle zu implementieren:
const http = require('http' ); const server = http.createServer(function(req,res){ //Immer daran glauben, dass gute Dinge passieren werden}).listen(8080);
Immer wenn eine HTTP-Anfrage den Server erreicht, wird die in createServer übergebene Funktion automatisch ausgeführt. Daher wird diese Funktion auch als Anforderungsverarbeitungsfunktion bezeichnet. Wir können die Rückruffunktion für die Ereignisüberwachung direkt übergeben und dann auf die Methode listen () klicken, um die Portnummer direkt zu binden.
Aber das ist nicht gut genug. Ja, es kann besser sein, die obige Rückruffunktion mit einer Pfeilfunktion zu modifizieren, um sie schöner zu machen.
const http = require('http'); const server = http.createServer((req,res) => { //Immer daran glauben, dass gute Dinge passieren werden}).listen(8080);
Natürlich
istdas
nicht gut genug
Es kann besser sein!
Direkt createServer() löst alles:
var http = require('http') // Server erstellen http.createServer( (req, res) =>{ //Immer daran glauben, dass gute Dinge gesendet werden}).listen(8888);
Herzlichen Glückwunsch zum Einstieg in das http-Modul von nodeJS. Zu diesem Zeitpunkt beherrschen Sie die folgenden Fähigkeiten:
Bitte folgen Sie dem Autor weiterhin. Als Nächstes erfahren Sie, wie