[LINUX] Versuchen Sie, mit Node.js einen HTTP-Server zu erstellen

Einführung

Dieser Artikel wurde von einem Studenten geschrieben, der JS anstelle eines Memos studiert. Erwarten Sie nicht den Inhalt.

1. Erstellen Sie eine virtuelle Umgebung

Dieses Mal wird es unter Ubuntu gemacht, also starte die virtuelle Umgebung mit iTerm2.

Wo es angefangen hat

  1. Virtuelle Box 2.Vagrant Ubuntu wird in einer virtuellen Umgebung verwendet, die zwei Software verwendet. cd ~/vagrant/ubuntu vagrant up vagrant ssh

Wechseln Sie in das Verzeichnis, in dem Ubuntu installiert ist. vagrant up ist ein Befehl zum Starten von Ubuntu, das auf einem virtuellen PC installiert ist, und vagrant ssh stellt mit dem Vagrant Virtual Machine Set eine Verbindung zu SSH her.

2. Bereiten Sie eine Vorlage für das Programm vor

Schreiben Sie Folgendes in das Verzeichnis.

echo "'use strict';" >Dateiname

Die erste Zeile wird geschrieben, wenn ein neues Projekt mit Garn gestartet wird.

3. Schreiben Sie ein Programm

Beschreiben Sie Folgendes in der zuvor beschriebenen Datei.

const http = require('http');
const server = http.createServer((request, response) => {
  response.writeHead(200, {
    'Content-Type': 'text/plain; charset=utf-8'
  });
  response.write(request.headers['Alles ist gut']);
  response.end();
});
server.listen(8000, () => {
  console.log('Listening on 8000' );
});

Die erste Zeile enthält eine Beschreibung für die Verwendung von JS im strengen Modus.

In der zweiten Zeile wird das http-Modul dem Argument http zugewiesen.

In den Zeilen 3-9 geht es um den Server. Ich baue einen Server mit dem dem Argument zugewiesenen http-Modul. Siehe unten für die Beschreibungsmethode.

http.createServer(Serverseitige Verarbeitung)


Dieses Mal wird die Pfeilfunktion bei der Verarbeitung auf der Serverseite verwendet, und die Anforderung wird dem ersten Argument und die Antwort dem zweiten Argument zugewiesen.

res.writeHead(200, {


  'Content-Type': 'text/plain; charset=utf-8'
});

Dieser Code schreibt einen Antwortheader, der die vom Server verarbeiteten Informationen zusammen mit einem Erfolgsstatuscode von 200 festlegt. In der 7. Zeile wird die Schreibfunktion verwendet, um die Zeichenfolge im Anforderungsheader anzuzeigen. Abhängig von dem Inhalt, den Sie anzeigen möchten, können Sie auch wie folgt schreiben.

res.write(


    '<!DOCTYPE html><html lang="ja"><body><h1>String</h1></body></html>'
  );

Die 8. Zeile zeigt, dass der Server das Schreiben beendet hat.

Ab der 10. Zeile ist der Port zum Starten des Servers auf 8000 eingestellt, und die Listen-Funktion wird verwendet, um permanent nach Anforderungen von einem bestimmten Port zu suchen. Dieses Mal wird die Zeichenfolge auf der Konsole angezeigt, sobald eine Anforderung vorliegt.

4. Starten Sie den Server

Schreiben Sie Folgendes und überprüfen Sie die Operation mit REPL.

Wenn die Zeichenfolge der Konsole angezeigt wird, ist sie erfolgreich. Danke für deine harte Arbeit!!

Was ist Garn?

yarn ist ein Paketmanager (https://yarnpkg.com/en/), der dieselbe Rolle wie npm hat und bei der Installation des Knotens automatisch installiert wird. Sie können Pakete schneller als npm installieren, indem Sie sie parallel installieren.

Was ist ein http-Modul?

Das "http-Modul" wird verwendet, um Funktionen als HTTP-Server oder HTTP-Client zu erstellen. Sie können Ihre Website im Internet veröffentlichen und Daten aus Formularen senden und empfangen. Natürlich wird es möglich sein, nicht nur statische Websites, sondern auch große Webdienste wie Twitter zu erstellen.

Was ist ein Port (siehe: https://www.nic.ad.jp/ja/basics/terms/port-number.html)

Bei der TCP / IP-Kommunikation kann ein Computer im Netzwerk eindeutig identifiziert werden, wenn eine IP-Adresse vorhanden ist. Es ist jedoch nicht möglich zu bestimmen, an welches Programm des Computers das Kommunikationspaket allein durch die IP-Adresse gesendet wird. Verwenden Sie die Portnummer, um zu bestimmen, an welches Programm das Kommunikationspaket weitergeleitet werden soll.

Recommended Posts

Versuchen Sie, mit Node.js einen HTTP-Server zu erstellen
Erstellen Sie einfach einen API-Server mit dem Modul go-json-rest
Versuchen Sie, eine Excel-Datei mit Python (Pandas / XlsxWriter) zu betreiben
Ich habe versucht, das Zugriffsprotokoll mit Node.js auf dem Server auszugeben
Schreiben Sie einen HTTP / 2-Server in Python
[Sakura-Mietserver] Versuchen Sie es mit einer Flasche.
Versuchen Sie, Statistiken mit e-Stat abzurufen
Versuchen Sie, die Fusionsbewegung mit AnyMotion zu erkennen
Versuchen Sie es mit Pythons Webframework Django (1) - Von der Installation bis zum Serverstart
Versuchen Sie, Excel mit Python (Xlwings) zu betreiben.
Erstellen Sie eine Anwendung mit der Spotify-API
Versuchen Sie, mit n die von Ihnen installierte Version von Node.js herunterzustufen
[Python] [Word] [python-docx] Versuchen Sie, mit python-docx eine Vorlage für einen Wortsatz in Python zu erstellen
Versuchen Sie, ein Bild mit Entfremdung zu erzeugen
Ich habe eine Umgebung erstellt, um TensorFlow auf einem Mac zu verwenden, also mein Memo
Versuchen Sie, mit WebSocket mit Django (Swamp Dragon) eine Todo-Verwaltungssite zu erstellen.
Ich habe versucht, eine Umgebung zu erstellen, um regelmäßig mit Selenium mit AWS Fargate zu überprüfen
So erstellen Sie einen OCF-kompatiblen Ressourcenagenten
Erstellen Sie eine AWS-GPU-Instanz, um StyleNet zu trainieren
Versuchen Sie, einen neuen Befehl unter Linux zu erstellen
Starten Sie einen HTTP-Server im aktuellen Verzeichnis
Erstellen Sie ein Konto aus dem Aufbau eines CentOS-Mailservers
Erstellen Sie in Tornado einen HTTP-Server (Hello World)
Versuchen Sie es mit einer objektorientierten Klasse in R (R6-Methode)
Einführung in Scapy ② (ICMP, HTTP (TCP) -Übertragung mit Scapy)
Erstellen Sie schnell einen API-Server mit Python + Falcon
Versuchen Sie es mit Tkinter
Versuchen Sie es mit Docker-Py
Versuchen Sie es mit einem Ausstecher
Versuchen Sie es mit PDFMiner
Versuchen Sie es mit Geopandas
Versuchen Sie es mit Selen
Versuchen Sie es mit pandas.DataFrame
Ich habe versucht, von Postman aus mit Cisco Guest Shell als API-Server zu arbeiten
Versuchen Sie es mit Django-Swiftbrowser
Versuchen Sie es mit matplotlib
Versuchen Sie es mit tf.metrics
Versuchen Sie es mit PyODE
Ich erhalte eine Fehlermeldung, wenn ich versuche, Python mit pyenv in Catalina auf 3 Serien zu erhöhen
Erstellen Sie mit Python + Flask einen animierten lokalen GIF-Server
So erstellen Sie einen Artikel über die Befehlszeile
Schwerwiegender Fehler im Launcher: Prozess kann nicht mit '"' erstellt werden
Versuchen Sie, mit Tkinter in Python dynamisch einen Checkbutton zu erstellen
(Python) Versuchen Sie, eine Webanwendung mit Django zu entwickeln
Erstellen Sie eine Bilddatei mit PIL (Python Imaging Library).
Versuchen Sie, mit MVC eine RESTful-API mit Flask 1.0.2 zu erstellen
Eine einfache Möglichkeit, ein Importmodul mit jupyter zu erstellen
Schwerwiegender Fehler im Launcher: Prozess kann nicht mit '"' erstellt werden
Ich habe versucht, mit AWS Lambda einen AMI zu erhalten
Versuchen Sie, Tweets mithilfe der Twitter-API in großen Mengen zu löschen
So erstellen Sie einen HTTPS-Server mit Go / Gin
Vorbereiten der Verwendung von Ansible auf einem vorhandenen Linux-Server
So erstellen Sie einen Bild-Uploader mit Bottle (Python)
Erstellen Sie einen Webserver in der Sprache Go (net / http) (1)
So erstellen Sie ein einfaches TCP-Server / Client-Skript
Versuchen Sie, hochfrequente Wörter mit NLTK (Python) zu extrahieren.
[Maschinelles Lernen] Versuchen Sie, Objekte mithilfe der selektiven Suche zu erkennen
Versuchen Sie, Sudoku mit explosiver Geschwindigkeit mit Numpy zu lösen