Учебники

4) Node.js учебник Http

Инфраструктура Node.js в основном используется для создания серверных приложений. Фреймворк можно легко использовать для создания веб-серверов, которые могут предоставлять контент пользователям.

Существует множество модулей, таких как «http» и «request», которые помогают обрабатывать запросы к серверу в пространстве веб-сервера. Мы посмотрим, как мы можем создать базовое приложение веб-сервера, используя Node js.

Узел как веб-сервер, использующий HTTP

Давайте рассмотрим пример того, как создать и запустить наше первое приложение Node js.

Наше приложение собирается создать простой серверный модуль, который будет прослушивать порт № 7000. Если через браузер сделан запрос на этот порт №, то серверное приложение отправит клиенту ответ «Hello World».

Создание веб-сервера HTTP в Node.js: полное руководство

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

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

Если команда выполнена успешно, при запуске кода в браузере будет показан следующий вывод.

Вывод:

Создание веб-сервера HTTP в Node.js: полное руководство

Из вывода

  • Вы можете ясно видеть, что если мы перейдем к 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. относительно просто. Чтобы сделать запрос Get в узле, нам сначала нужно установить модуль запроса. Это можно сделать, выполнив следующую строку в командной строке

запрос установки npm

Приведенная выше команда запрашивает диспетчер пакетов Node для загрузки необходимых модулей запросов и их установки соответственно.

Когда ваш модуль npm был успешно установлен, в командной строке будет показано имя и версия установленного модуля: <имя> @ <версия>.

Создание веб-сервера HTTP в Node.js: полное руководство

На приведенном выше снимке вы видите, что модуль ‘request’ вместе с номером версии 2.67.0 был загружен и установлен.

Теперь давайте посмотрим код, который может использовать эту команду ‘request’.

Создание веб-сервера HTTP в Node.js: полное руководство

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

  1. Мы используем модуль запроса, который был установлен на последнем шаге. Этот модуль имеет необходимые функции, которые можно использовать для отправки запросов GET на веб-сайты.
  2. Мы делаем запрос GET на www.google.com и затем вызываем функцию при получении ответа. При получении ответа параметры (ошибка, ответ и тело) будут иметь следующие значения
    1. Ошибка — Если при использовании запроса GET будет получена какая-либо ошибка, она будет записана здесь.
    2. Ответ — ответ будет иметь заголовки http, которые отправляются обратно в ответ.
    3. Тело. Тело будет содержать все содержимое ответа, отправленного Google.
  3. В этом мы просто записываем содержимое, полученное в параметре body, в файл 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. Приложение может быть настроено на прослушивание определенного порта и отправку ответа клиенту при каждом обращении к приложению.
  • Модуль «запрос» может быть использован для получения информации с веб-сайтов. Информация будет содержать весь контент веб-страницы, запрашиваемой с соответствующего веб-сайта.