Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Node.js: REST, API, HTTP methods, stateless, resource

Какие есть правила REST, которых нужно придерживаться?

Вопрос проверяет знание принципов и ограничений REST-архитектуры, необходимых для проектирования веб-API.

Короткий ответ

REST (Representational State Transfer) — это архитектурный стиль для построения веб-сервисов. Основные правила: использование HTTP методов (GET, POST, PUT, DELETE) для операций с ресурсами, каждый ресурс имеет уникальный URI, сервер не хранит состояние клиента (stateless), ответы кэшируются, а клиент получает представление ресурса (JSON, XML). Также важна единообразная структура URL и правильное использование кодов состояния HTTP.

Длинный ответ

Основные принципы REST

REST (Representational State Transfer) — это архитектурный стиль, который определяет набор ограничений для создания веб-сервисов. Он был предложен Роем Филдингом в 2000 году и стал стандартом для проектирования API. Главная цель REST — сделать взаимодействие между клиентом и сервером простым, масштабируемым и предсказуемым.

Ключевые правила REST

  • Использование HTTP методов: GET для чтения, POST для создания, PUT для полного обновления, PATCH для частичного обновления, DELETE для удаления. Каждый метод имеет четкое значение.
  • Ресурсы и URI: Каждый ресурс (например, пользователь, заказ) идентифицируется уникальным URI. Пример: /users/123 — это конкретный пользователь.
  • Stateless (без состояния): Каждый запрос от клиента содержит всю необходимую информацию для его обработки. Сервер не хранит данные о сессии клиента между запросами.
  • Представление ресурсов: Клиент получает не сам ресурс, а его представление (обычно JSON или XML). Сервер может поддерживать несколько форматов.
  • Кэширование: Ответы должны явно указывать, можно ли их кэшировать, чтобы уменьшить нагрузку на сервер.
  • Единообразный интерфейс: Все ресурсы используют одинаковые принципы взаимодействия, что упрощает понимание API.

Пример кода

// Пример RESTful API на Express.js
const express = require('express');
const app = express();

app.get('/users/:id', (req, res) => {
  const userId = req.params.id;
  // Получение пользователя из БД
  res.json({ id: userId, name: 'John' });
});

app.post('/users', (req, res) => {
  const newUser = req.body;
  // Создание пользователя
  res.status(201).json(newUser);
});

app.delete('/users/:id', (req, res) => {
  // Удаление пользователя
  res.status(204).send();
});

Вывод

Соблюдение правил REST делает API предсказуемым, масштабируемым и легким для интеграции. Этот подход особенно полезен при создании микросервисов и публичных API, где важна совместимость и простота поддержки.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    5

  • Сложность:

    3

Навыки

  • Node.js

    Node.js

  • Express

Ключевые слова

#REST

#API

#HTTP methods

#stateless

#resource

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию