Utwórz serwer WWW HTTP w Node.js: samouczek z przykładem kodu

Framework Node.js jest najczęściej używany do tworzenia aplikacji serwerowych. Framework można łatwo wykorzystać do tworzenia serwerów internetowych, które mogą udostępniać treści użytkownikom.

Istnieje wiele modułów, takich jak moduł „http” i „żądanie”, które pomagają w przetwarzaniu żądań związanych z serwerem w przestrzeni serwera WWW. Przyjrzymy się, jak możemy stworzyć podstawową aplikację serwera WWW za pomocą Węzeł js.

Węzeł jako serwer WWW korzystający z protokołu HTTP

Przyjrzyjmy się przykładowi tworzenia i uruchamiania naszej pierwszej aplikacji Node js.

Nasza aplikacja utworzy prosty moduł serwera, który będzie nasłuchiwał na porcie nr 7000. Jeżeli przez przeglądarkę zostanie wysłane żądanie na tym porcie nr, to aplikacja serwera wyśle ​​do klienta odpowiedź „Hello World”.

Węzeł jako serwer WWW korzystający z protokołu HTTP

Objaśnienie kodu

  1. Podstawową funkcjonalnością funkcji require jest to, że czyta ona a JAVASCRIPT file, wykonuje plik, a następnie zwraca obiekt eksportu. Zatem w naszym przypadku, ponieważ chcemy skorzystać z funkcjonalności modułu http, używamy funkcji require w celu uzyskania żądanych funkcji z modułu http, aby można było go wykorzystać w naszej aplikacji.
  2. W tej linijce kodu tworzymy aplikację serwerową opartą na prostej funkcji. Ta funkcja jest wywoływana za każdym razem, gdy do naszej aplikacji serwerowej zostanie wysłane żądanie.
  3. Po otrzymaniu żądania mówimy o wysłaniu odpowiedzi z nagłówkiem typu „200”. Liczba ta jest normalną odpowiedzią wysyłaną w nagłówku http po wysłaniu pomyślnej odpowiedzi do klienta.
  4. W samej odpowiedzi wysyłamy ciąg „Hello World”.
  5. Następnie używamy funkcji server.listen, aby nasza aplikacja serwerowa nasłuchiwała żądań klientów na porcie nr 7000. Tutaj możesz określić dowolny dostępny port.

Jeśli polecenie zostanie wykonane pomyślnie, po uruchomieniu kodu w przeglądarce zostanie wyświetlony następujący komunikat.

Wydajność

Węzeł jako serwer WWW korzystający z protokołu HTTP

Z wyjścia,

  • Można wyraźnie zobaczyć, że jeśli przejdziemy do adresu URL localhost na porcie 7000, na stronie zostanie wyświetlony ciąg „Hello World”.
  • Ponieważ w naszym kodzie wspomnieliśmy specjalnie o tym, aby serwer nasłuchiwał na porcie nr 7000, możemy wyświetlić dane wyjściowe podczas przeglądania tego adresu URL.

Oto kod w celach informacyjnych

var http=require('http')
var server=http.createServer((function(request,response)
{
	response.writeHead(200,
	{"Content-Type" : "text/plain"});
	response.end("Hello World\n");
}));
server.listen(7000);

Obsługa żądań GET w Node.js

Tworzenie żądania GET w celu pobrania danych z innej witryny jest stosunkowo bardzo proste w Node.js. Aby utworzyć żądanie Get w węźle, musimy najpierw zainstalować moduł żądania. Można to zrobić, wykonując następujący wiersz w wierszu poleceń

żądanie instalacji npm

Powyższe polecenie żąda od menedżera pakietów Node pobrania wymaganych modułów żądań i odpowiedniego ich zainstalowania.

Po pomyślnym zainstalowaniu modułu npm w wierszu poleceń zostanie wyświetlona nazwa i wersja zainstalowanego modułu: @ .

Obsługa żądań GET

Na powyższym zrzucie widać, że moduł „żądanie” wraz z numerem wersji 2.67.0 został pobrany i zainstalowany.

Zobaczmy teraz kod, który może wykorzystać polecenie „żądanie”.

Obsługa żądań GET

Objaśnienie kodu

  1. Korzystamy z modułu „żądanie”, który został zainstalowany w ostatnim kroku. Moduł ten posiada niezbędne funkcje, za pomocą których można wysyłać żądania GET do stron internetowych.
  2. Wykonujemy żądanie GET do www.google.com i następnie wywołujemy funkcję po otrzymaniu odpowiedzi. Po otrzymaniu odpowiedzi parametry (error, response i body) będą miały następujące wartości
    1. Błąd – w przypadku wystąpienia błędu podczas korzystania z żądania GET, zostanie on tutaj zarejestrowany.
    2. Odpowiedź — odpowiedź będzie zawierać nagłówki http, które zostaną odesłane w odpowiedzi.
    3. Treść – treść będzie zawierać całą treść odpowiedzi wysłanej przez Google.
  3. W tym przypadku zapisujemy po prostu treść otrzymaną w parametrze body do pliku console.log. Czyli w zasadzie wszystko, do czego dotrzemy www.google.com zostanie zapisany w pliku console.log.

Oto kod w celach informacyjnych

var request = require("request");
	request("http://www.google.com",function(error,response,body)
	{
		console.log(body);
	});

Podsumowanie

  • Framework Node.js można wykorzystać do tworzenia serwerów WWW przy użyciu modułu „http”. Aplikacja może nasłuchiwać na określonym porcie i wysyłać odpowiedź do klienta za każdym razem, gdy do aplikacji zostanie wysłane żądanie.
  • Moduł „żądanie” może zostać wykorzystany do uzyskania informacji ze stron internetowych. Informacje będą zawierać całą zawartość strony internetowej żądanej z odpowiedniej witryny internetowej.