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

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

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

Node как веб-сервер с использованием HTTP

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

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

Узел как веб-сервер с использованием HTTP

Код Пояснение

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

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

Результат

Узел как веб-сервер с использованием HTTP

Из вывода,

  • Вы можете ясно видеть, что если мы перейдем к URL-адресу локального хоста на порту 7000, вы увидите строку «Hello World».yed на странице.
  • Поскольку в нашем коде мы специально упомянули, что сервер прослушивает порт № 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 в узле, нам нужно сначала установить модуль запроса. Это можно сделать, выполнив следующую командуwing строка в командной строке

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

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

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

Обработка GET-запросов

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

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

Обработка GET-запросов

Код Пояснение

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