Направите ХТТП веб сервер у Ноде.јс: Комплетна лекција

Преглед садржаја:

Anonim

Оквир Ноде.јс се углавном користи за креирање апликација заснованих на серверу. Оквир се лако може користити за креирање веб сервера који могу услужити садржај корисницима.

Постоји низ модула као што су „хттп“ и „рекуест“ модул, који помажу у обради захтева повезаних са сервером у простору веб сервера. Погледаћемо како можемо створити основну апликацију веб сервера помоћу Ноде јс.

Чвор као веб сервер који користи ХТТП

Погледајмо пример како створити и покренути нашу прву Ноде јс апликацију.

Наша апликација ће створити једноставан модул сервера који ће слушати на порту бр. 7000. Ако се захтев пошаље путем прегледача на овом порту бр., Тада ће апликација сервера послати клијенту одговор „Хелло Ворлд“.

Објашњење кода:

  1. Основна функционалност функције Захтева је да чита ЈаваСцрипт датотеку, извршава је и наставља са враћањем објекта за извоз. Дакле, у нашем случају, с обзиром да желимо да користимо функционалност хттп модула, користимо функцију рекуире да бисмо из хттп модула добили жељене функције како би се могао користити у нашој апликацији.
  2. У овом реду кода креирамо серверску апликацију која се заснива на једноставној функцији. Ова функција се позива кад год се захтева захтев за нашу серверску апликацију.
  3. Када примимо захтев, кажемо да пошаљемо одговор са заглављем типа „200“. Овај број је уобичајени одговор који се шаље у хттп заглављу када се успешан одговор пошаље клијенту.
  4. У самом одговору шаљемо низ „Хелло Ворлд“.
  5. Затим користимо функцију сервер.листен да бисмо учинили да наша серверска апликација преслушава захтеве клијента на порту бр. 7000. Овде можете одредити било који слободни порт.

Ако се наредба успешно изврши, приказаће се следећи излаз када покренете свој код у прегледачу.

Излаз:

Из резултата,

  • Јасно можете видети да ако претражимо УРЛ адресу лоцалхост на порту 7000, видећете на страници приказан низ „Хелло Ворлд“.
  • Будући да смо у нашем коду посебно споменули да сервер може да слуша на порту бр. 7000, у могућности смо да видимо излаз при претраживању овог урла.

Ево кода за вашу референцу

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

Руковање ГЕТ захтевима у Ноде.јс

Подношење ГЕТ захтева за добијање података са друге странице је релативно једноставно у Ноде.јс. Да бисмо извршили захтев за преузимање у чвору, прво морамо да инсталирамо модул захтева. То се може учинити извршавањем следеће линије у командној линији

нпм захтев за инсталацију

Горња команда захтева од управитеља пакета Ноде да преузме потребне модуле захтева и инсталира их у складу с тим.

Када се ваш нпм модул успешно инсталира, командна линија ће показати име и верзију инсталираног модула: <наме> @ <версион>.

На горњој снимци можете видети да је модул „захтев“ заједно са верзијом број 2.67.0 преузет и инсталиран.

Сада да видимо код који може да користи ову наредбу 'захтев'.

Објашњење кода:

  1. Користимо модул „захтев“ који је инсталиран у последњем кораку. Овај модул има потребне функције које се могу користити за слање ГЕТ захтева веб локацијама.
  2. Подносимо ГЕТ захтев на ввв.гоогле.цом и накнадно позивамо функцију када примимо одговор. Када се прими одговор, параметри (грешка, одговор и тело) имаће следеће вредности
    1. Грешка - У случају да је примљена било каква грешка приликом коришћења ГЕТ захтева, она ће бити овде забележена.
    2. Одговор - Одговор ће имати хттп заглавља која се шаљу назад у одговору.
    3. Боди - Тело ће садржати целокупан садржај одговора који је послао Гоогле.
  3. У овом тексту записујемо садржај примљен у параметру боди у датотеку цонсоле.лог. У основи, шта год да се одласком на ввв.гоогле.цом ће бити написан на цонсоле.лог.

Ево кода за вашу референцу

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

Резиме

  • Оквир Ноде.јс се може користити за развој веб сервера помоћу модула 'хттп'. Апликација се може учинити прислушкивањем одређеног порта и слањем одговора клијенту кад год се захтев упути апликацији.
  • Модул „захтев“ се може користити за добијање информација са веб локација. Информације би садржавале целокупан садржај веб странице која се тражи са релевантне веб странице.