Utwórz serwer WWW HTTP w Node.js: ukończ samouczek

Spisie treści:

Anonim

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

Istnieje wiele różnych modułów, takich jak „http” i „request”, które pomagają w przetwarzaniu żądań związanych z serwerem w przestrzeni serwera WWW. Przyjrzymy się, jak możemy stworzyć podstawową aplikację serwera WWW przy użyciu Node js.

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

Spójrzmy na przykład, jak utworzyć i uruchomić naszą pierwszą aplikację Node js.

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

Objaśnienie kodu:

  1. Podstawowa funkcjonalność funkcji require polega na tym, że odczytuje ona plik JavaScript, wykonuje go, a następnie zwraca obiekt eksportu. Tak więc w naszym przypadku, ponieważ chcemy skorzystać z funkcjonalności modułu http, używamy funkcji require, aby pobrać żądane funkcje z modułu http, aby można było użyć go w naszej aplikacji.
  2. W tym wierszu kodu tworzymy aplikację serwerową opartą na prostej funkcji. Ta funkcja jest wywoływana za każdym razem, gdy kierowane jest żądanie do naszej aplikacji serwerowej.
  3. Po odebraniu żądania mówimy o wysłaniu odpowiedzi z nagłówkiem typu „200”. Ta liczba to normalna odpowiedź, która jest wysyłana w nagłówku http po przesłaniu klientowi pomyślnej odpowiedzi.
  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, następujące dane wyjściowe zostaną wyświetlone po uruchomieniu kodu w przeglądarce.

Wynik:

Z wyjścia,

  • Możesz wyraźnie zobaczyć, że jeśli przejdziemy do adresu URL hosta lokalnego na porcie 7000, zobaczysz na stronie ciąg „Hello World”.
  • Ponieważ w naszym kodzie wspomnieliśmy specjalnie, aby serwer nasłuchiwał na porcie nr 7000, jesteśmy w stanie 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.

Wykonanie żądania GET w celu pobrania danych z innej witryny jest stosunkowo bardzo proste w Node.js. Aby wykonać żądanie Get w węźle, musimy najpierw zainstalować moduł request. 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 ich odpowiedniej instalacji.

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

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

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

Objaśnienie kodu:

  1. Używamy modułu „request”, który został zainstalowany w ostatnim kroku. Moduł ten posiada niezbędne funkcje, które można wykorzystać do wysyłania żądań GET do stron internetowych.
  2. Wysyłamy żądanie GET do www.google.com, a następnie wywołujemy funkcję po otrzymaniu odpowiedzi. Po odebraniu odpowiedzi parametry (błąd, odpowiedź i treść) 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 zapisany tutaj.
    2. Odpowiedź - odpowiedź będzie miała nagłówki http, które są odsyłane z powrotem w odpowiedzi.
    3. Treść - treść będzie zawierała całą treść odpowiedzi wysłanej przez Google.
  3. W tym przypadku po prostu zapisujemy zawartość otrzymaną w parametrze body do pliku console.log. Zasadniczo wszystko, co otrzymamy, przechodząc do www.google.com, zostanie zapisane w 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że być używany 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 skierowane żądanie.
  • Moduł „request” może być używany do pobierania informacji z witryn internetowych. Informacje zawierałyby całą zawartość strony internetowej żądanej z odpowiedniej witryny internetowej.