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

Содержание:

Anonim

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

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

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

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

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

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

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

Пояснение к коду:

  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. Приложение может быть настроено для прослушивания определенного порта и отправки ответа клиенту всякий раз, когда к приложению делается запрос.
  • Модуль «запрос» может использоваться для получения информации с веб-сайтов. Информация будет содержать все содержание веб-страницы, запрошенной с соответствующего веб-сайта.