Инфраструктура Node.js в основном используется для создания серверных приложений. Фреймворк можно легко использовать для создания веб-серверов, которые могут предоставлять контент пользователям.
Существует множество модулей, таких как «http» и «request», которые помогают обрабатывать запросы к серверу в пространстве веб-сервера. Мы посмотрим, как мы можем создать базовое приложение веб-сервера, используя Node js.
Узел как веб-сервер, использующий HTTP
Давайте рассмотрим пример того, как создать и запустить наше первое приложение Node js.
Наше приложение собирается создать простой серверный модуль, который будет прослушивать порт № 7000. Если через браузер сделан запрос на этот порт №, то серверное приложение отправит клиенту ответ «Hello World».
Объяснение кода:
- Основная функция функции require заключается в том, что она читает файл JavaScript , выполняет файл и затем возвращает объект экспорта. Таким образом, в нашем случае, поскольку мы хотим использовать функциональные возможности модуля http, мы используем функцию require, чтобы получить нужные функции из модуля http, чтобы его можно было использовать в нашем приложении.
- В этой строке кода мы создаем серверное приложение, основанное на простой функции. Эта функция вызывается всякий раз, когда делается запрос к нашему серверному приложению.
- Когда запрос получен, мы говорим отправить ответ с типом заголовка «200». Этот номер является обычным ответом, который отправляется в заголовке http, когда успешный ответ отправляется клиенту.
- В самом ответе мы отправляем строку «Hello World».
- Затем мы используем функцию 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 был успешно установлен, в командной строке будет показано имя и версия установленного модуля: <имя> @ <версия>.
На приведенном выше снимке вы видите, что модуль ‘request’ вместе с номером версии 2.67.0 был загружен и установлен.
Теперь давайте посмотрим код, который может использовать эту команду ‘request’.
Объяснение кода:
- Мы используем модуль запроса, который был установлен на последнем шаге. Этот модуль имеет необходимые функции, которые можно использовать для отправки запросов GET на веб-сайты.
- Мы делаем запрос GET на www.google.com и затем вызываем функцию при получении ответа. При получении ответа параметры (ошибка, ответ и тело) будут иметь следующие значения
- Ошибка — Если при использовании запроса GET будет получена какая-либо ошибка, она будет записана здесь.
- Ответ — ответ будет иметь заголовки http, которые отправляются обратно в ответ.
- Тело. Тело будет содержать все содержимое ответа, отправленного Google.
- В этом мы просто записываем содержимое, полученное в параметре 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. Приложение может быть настроено на прослушивание определенного порта и отправку ответа клиенту при каждом обращении к приложению.
- Модуль «запрос» может быть использован для получения информации с веб-сайтов. Информация будет содержать весь контент веб-страницы, запрашиваемой с соответствующего веб-сайта.