Создание веб-сервера HTTP в Node.js: руководство с примером кода
Фреймворк Node.js в основном используется для создания серверных приложений. Фреймворк можно легко использовать для создания веб-серверов, которые могут предоставлять контент пользователям.
Существует множество модулей, таких как модуль «http» и «request», которые помогают обрабатывать запросы, связанные с сервером, в пространстве веб-сервера. Мы рассмотрим, как создать базовое приложение веб-сервера, используя Node JS.
Node как веб-сервер с использованием HTTP
Давайте рассмотрим пример того, как создать и запустить наше первое приложение Node js.
Наше приложение создаст простой серверный модуль, который будет прослушивать порт № 7000. Если через браузер будет сделан запрос на этот порт №, тогда серверное приложение отправит клиенту ответ «Hello World».
Код Пояснение
- Основная функциональность функции require заключается в том, что она считывает JavaСценарий файл, выполняет файл, а затем переходит к возврату объекта экспорта. Итак, в нашем случае, поскольку мы хотим использовать функциональные возможности модуля http, мы используем функцию require, чтобы получить нужные функции из модуля http, чтобы их можно было использовать в нашем приложении.
- В этой строке кода мы создаем серверное приложение, основанное на простой функции. Эта функция вызывается всякий раз, когда к нашему серверному приложению делается запрос.
- Когда запрос получен, мы говорим об отправке ответа с типом заголовка «200». Это число является обычным ответом, который отправляется в заголовке http, когда клиенту отправляется успешный ответ.
- В самом ответе мы отправляем строку «Hello World».
- Затем мы используем функцию server.listen, чтобы наше серверное приложение прослушивало запросы клиентов на порту № 7000. Здесь вы можете указать любой доступный порт.
Если команда выполнена успешно, при запуске кода в браузере будет отображен следующий вывод.
Результат
Из вывода,
- Вы можете ясно видеть, что если мы перейдем к URL-адресу локального хоста на порту 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 был загружен и установлен.
Теперь давайте посмотрим код, который может использовать эту команду «запрос».
Код Пояснение
- Мы используем модуль «запрос», который был установлен на последнем шаге. Этот модуль имеет необходимые функции, которые можно использовать для отправки 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. Приложение можно заставить прослушивать определенный порт и отправлять ответ клиенту всякий раз, когда к приложению поступает запрос.
- Модуль «запрос» можно использовать для получения информации с веб-сайтов. Информация будет содержать все содержимое веб-страницы, запрошенной с соответствующего веб-сайта.