Объект Request в NodeJS

В прошлой статье "Запуск сервера на NodeJS" был разобран код для создания веб сервера на NodeJS с помощью метода createServer и модуля http. В этой статье продолжим разбор свойств и методов объектов, которые используются внутри тела функции в "createServer". А именно нас будет интересовать объект "request". В нём содержится получаемая от пользователя информация. Такая как адресная строка (url), заголовки и метод запроса. Попробуем вывести в консоль все эти данные, модифицировав пример из предыдущей статьи:
let http = require('http');
http.createServer(function(request, response) {
   console.log(request.url); // выводит url (адрес после названия сайта)
   console.log(request.method); // выводит метод запроса GET/POST
   console.log(request.headers); // выводит принимаемые заголовки

   response.statusCode = 200;
   response.setHeader('Content-Type' : 'text/html');
   response.write('Тише, <b>мыши</b>, кот на крыше');
   response.end();
}).listen(80);
Свойство "url" содержит в себе адресную строку. К примеру, если запросить адрес "https://www.mousedc.ru/hosting/" , то в этом свойстве окажется только "/hosting/". Иначе говоря, для организации работы сайта с папками в NodeJS необходимо писать обработчик запросов, а не создавать реальные папки на сервере. Ведь все запросы к порту передаются на один и тот же скрипт.

Свойство "method" хранит название метода, который был использован при запросе: GET или POST.

Свойство "headers" содержит целый массив информации. Включая host запроса, состояние соединения, язык пользователя с частотой их использования. Но вся эта информация принимается от посетителя сайта, от его браузера. Изменять её на сервере бесполезно, потому что на следующем запросе придут та же значения.

Теперь если запустить код из примера (набрать node путь_к_скрипту.js и зайти на ip сервера через браузер), то в консоль сервера будет записаны три строки (предположим, что зашли на страницу "https://www.mousedc.ru/hosting/"):
/hosting/
GET
{host: 'www.mousedc.ru:80',
connection: 'keep-alive',
pragma: 'na-cache', 'user-agent': 'информация_о_браузере',
referer: 'https://www.mousedc.ru/hosting/',
... }
В "headers" содержится много информации, поэтому если требуется выделить одну часть, то обратитесь к ней через точку. К примеру, если требуется "host", то в коде NodeJS надо указать console.log(request.headers.host);.
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Cмотрите другие статьи:
Была ли статья полезной?
Была ли эта статья полезна? Есть вопрос?
хостинг для сайтов
Закажите недорогой хостинг Заказать

всего от 290 руб

⇡ наверх