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);
.