Създайте HTTP уеб сървър в Node.js: Пълно ръководство

Съдържание:

Anonim

Рамката Node.js се използва най-вече за създаване на сървърно базирани приложения. Рамката може лесно да се използва за създаване на уеб сървъри, които могат да обслужват съдържание на потребителите.

Съществуват различни модули като модула „http“ и „request“, който помага при обработката на заявки, свързани със сървъра в пространството на уеб сървъра. Ще разгледаме как можем да създадем основно приложение за уеб сървър, използвайки Node js.

Възел като уеб сървър, използващ HTTP

Нека разгледаме пример за това как да създадем и стартираме първото ни приложение Node js.

Нашето приложение ще създаде прост сървърен модул, който ще слуша на порт № 7000. Ако се направи заявка чрез браузъра на този порт №, тогава приложението на сървъра ще изпрати отговор на „Hello World“ на клиента.

Обяснение на кода:

  1. Основната функционалност на функцията require е, че тя чете JavaScript файл, изпълнява файла и след това продължава да връща обекта за експортиране. Така че в нашия случай, тъй като искаме да използваме функционалността на http модула, използваме функцията require, за да получим желаните функции от http модула, така че да може да се използва в нашето приложение.
  2. В този ред от код създаваме сървърно приложение, което се основава на проста функция. Тази функция се извиква всеки път, когато се направи заявка към нашето сървърно приложение.
  3. Когато бъде получена заявка, ние казваме да изпратим отговор с тип заглавка „200“. Този номер е нормалният отговор, който се изпраща в http заглавие, когато успешен отговор се изпраща на клиента.
  4. В самия отговор изпращаме низа „Hello World“.
  5. След това използваме функцията server.listen, за да накараме нашето сървърно приложение да слуша клиентски заявки на порт № 7000. Тук можете да посочите всеки наличен порт.

Ако командата се изпълни успешно, след стартиране на вашия код в браузъра ще се покаже следният изход.

Изход:

От изхода,

  • Можете ясно да видите, че ако прегледаме URL адреса на localhost на порт 7000, ще видите низа „Hello World“, показан на страницата.
  • Тъй като в нашия код споменахме специално за сървъра да слуша на порт № 7000, ние можем да видим изхода, когато преглеждаме този url.

Ето кода за справка

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);

Обработка на GET заявки в Node.js

Изпращането на GET заявка за получаване на данни от друг сайт е относително много лесно в Node.js. За да направим заявка за получаване в възела, първо трябва да инсталираме модула за заявка. Това може да стане чрез изпълнение на следния ред в командния ред

npm заявка за инсталиране

Горната команда изисква от мениджъра на пакети Node да изтегли необходимите модули за заявки и да ги инсталира съответно.

Когато вашият npm модул е ​​инсталиран успешно, командният ред ще покаже името и версията на инсталирания модул: <име> @ <версия>.

В горната снимка можете да видите, че модулът „заявка“ заедно с версията с номер 2.67.0 е изтеглен и инсталиран.

Сега нека видим кода, който може да използва тази команда 'request'.

Обяснение на кода:

  1. Използваме модула „заявка“, който беше инсталиран в последната стъпка. Този модул има необходимите функции, които могат да се използват за отправяне на GET заявки към уебсайтове.
  2. Изпращаме GET заявка до www.google.com и впоследствие извикваме функция при получаване на отговор. Когато се получи отговор, параметрите (грешка, отговор и тяло) ще имат следните стойности
    1. Грешка - В случай че има грешка, получена при използване на заявката GET, тя ще бъде записана тук.
    2. Отговор - Отговорът ще има заглавките http, които се изпращат обратно в отговора.
    3. Body - Тялото ще съдържа цялото съдържание на отговора, изпратен от Google.
  3. В това, ние просто записваме съдържанието, получено в параметъра на тялото, във файла console.log. Така че по принцип, каквото и да получим, като посетим www.google.com, ще бъде записано в console.log.

Ето кода за справка

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

Обобщение

  • Рамката Node.js може да се използва за разработване на уеб сървъри, използвайки модула 'http'. Приложението може да бъде накарано да слуша на определен порт и да изпраща отговор на клиента всеки път, когато се направи заявка към приложението.
  • Модулът „заявка“ може да се използва за получаване на информация от уеб сайтове. Информацията ще съдържа цялото съдържание на уеб страницата, поискано от съответния уеб сайт.