StudyCode
К практике
НачальныйExpressHTTPGET
НачальныйExpressHTTPGET

Hello, Server!

Создаём первый HTTP-сервер на Express и отвечаем на GET-запрос.

Нажми на любой элемент диаграммы для объяснения
Шаг 1 из 3
1

Как работает интернет: клиент и сервер

Что происходит, когда ты открываешь сайт?

Каждый раз, когда ты вводишь адрес в браузере, происходит одно и то же:

  1. Браузер (клиент) отправляет запрос — спрашивает: "Дай мне эту страницу"
  2. Сервер получает запрос, делает работу и отправляет ответ

Это называется HTTP — протокол (язык), на котором браузер и сервер общаются друг с другом.

Запрос и ответ

Каждый HTTP-запрос содержит:

  • Метод — что ты хочешь сделать: GET (получить), POST (создать), PUT (изменить), DELETE (удалить)
  • Путь — куда именно: /ping, /users/42, /api/login
  • Тело (body) — данные, которые ты отправляешь (только в POST/PUT)

HTTP-ответ всегда содержит:

  • Код статуса — число: 200 = успех, 404 = не найдено, 500 = ошибка сервера
  • Тело — обычно JSON-объект с данными

Что такое Express?

Node.js позволяет запускать JavaScript вне браузера — прямо на сервере. Express — самая популярная библиотека для создания HTTP-серверов на Node.js.

bash
npm install express  # установка

Ниже — полный код сервера, который уже написан за тебя. Прочитай и разбери каждую строку с комментарием. На следующем шаге ты сам напишешь функцию handlePing().

javascript
// 1. Подключаем библиотеку Express
const express = require('express');

// 2. Создаём приложение (сервер)
const app = express();

// 3. Разрешаем серверу читать JSON из тела запросов
//    Без этой строки req.body будет пустым при POST/PUT
app.use(express.json());

// 4. Регистрируем маршрут: GET /ping
//    Когда браузер делает GET-запрос на /ping — вызывается эта функция
app.get('/ping', (req, res) => {
  //   req = объект с данными запроса (заголовки, тело, параметры)
  //   res = объект для отправки ответа
  res.json(handlePing()); // handlePing() — ты напишешь её на следующем шаге
});

// 5. Запускаем сервер на порту 3000
app.listen(3000, () => console.log('✅ Сервер запущен: http://localhost:3000'));