Menu
CoddyTech

Модуль http

Часть раздела Основы Express путешествия по Node.js на Coddy. Урок 2 из 23.

Express выполняет за вас работу, которую вы не видите. Это видно на примере собственного модуля Node node:http, на котором построен Express.

import http from 'node:http';

const server = http.createServer((req, res) => {
    if (req.url === '/repairs') {
        res.statusCode = 503;
        res.end('Repairs are closed today');
        return;
    }
    res.end('Welcome to the bike shop');
});

server.listen(3000);

Node вызывает функцию для каждого запроса. Маршрутов нет: вы сами сравниваете req.url — путь, по которому был сделан запрос. res.statusCode — это код состояния, число, которое показывает, как прошёл запрос: 200 означает «ОК», 404 — «не найдено». res.end отправляет тело ответа и завершает ответ, поэтому задайте код состояния до его вызова.

challenge icon

Задание

Легко

Прежде чем продолжить знакомство с Express, напиши небольшой сервер с помощью собственного модуля Node node:http, чтобы увидеть, какую работу Express выполняет за тебя.

  1. В server.js, внутри функции, переданной в http.createServer, проверь значение req.url. Если оно равно /, отправь текст Home.
  2. Для всех остальных путей установи код состояния 404 и отправь текст Not found. Установи статус до отправки. После завершения ответа его статус уже нельзя изменить.

Попробуй: Нажми «Запустить» и отправь /. Ты должен увидеть Home со статусом 200. Отправь /nope, а затем /recipes/today. В обоих случаях должен отображаться текст Not found со статусом 404. В уроке 1 Express отправил этот ответ 404 за тебя; здесь ты напишешь его сам.

Попробуйте сами

import http from 'node:http';

const server = http.createServer((req, res) => {
    // Для / отвечай Home, а для всех остальных путей — 404 Not found.
    res.end('Hello from Node');
});

server.listen(3000, () => {
    console.log('Listening on port 3000');
});
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы Express

Потренируйтесь самостоятельно: Песочница Express