Создаём простой веб-сервер
Отдаём настоящие страницы по HTTP с помощью встроенного модуля http
http уже входит в Node.
- создать сервер с помощью
http.createServerи заставить его слушать порт черезlisten, - читать входящий запрос (
req.url,req.method), - отправлять обычный текст или HTML с правильным
Content-Type, - всегда завершать ответ с помощью
res.end().
1. Что такое веб-сервер? (аналогия)
Представь ресторан. Ты (клиент, обычно веб-браузер) заходишь и просишь что-то: «Дайте, пожалуйста, главную страницу». Официант (сервер) принимает заказ, идёт на кухню и приносит тарелку. Твой заказ — это запрос; тарелка — это ответ.
Веб-сервер делает ровно это, снова и снова, очень быстро. Он слушает запросы, приходящие на порт (как пронумерованная дверь — мы возьмём дверь номер 3000), и на каждый запрос отправляет ответ: текст, HTML-страницу, картинку и так далее.
Node.js отлично для этого подходит, потому что умеет обрабатывать много запросов, не застревая в ожидании, а инструменты для сервера уже встроены.
2. Цикл «запрос-ответ»
Каждый раз, когда ты открываешь веб-страницу, происходит этот танец из двух шагов:
- Браузер отправляет запрос (например: GET страницы по адресу
/). - Сервер читает запрос и отправляет ответ (например: 200 OK, вот HTML).