К списку
HTTP, REST и APISeniorТехническое

Основные HTTP-методы в REST API и их назначение

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

REST API опирается на стандартные HTTP-методы для управления ресурсами: GET извлекает данные, POST создаёт новые, PUT обновляет целиком, PATCH обновляет частично, DELETE удаляет, OPTIONS сообщает поддерживаемые методы, а HEAD возвращает только заголовки ответа.

Развёрнуто

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

В REST API применяются ключевые HTTP-методы: GET для получения ресурсов, POST для создания, PUT для полного обновления, PATCH для частичного изменения, DELETE для удаления, OPTIONS для запроса списка доступных методов и HEAD для получения метаданных без тела ответа.


Как это работает

REST (Representational State Transfer) использует стандартные HTTP-методы для взаимодействия с ресурсами на сервере. Каждый метод имеет чётко определённую роль:

  • GET — извлечение представления ресурса без изменения состояния.
  • POST — создание нового ресурса или выполнение действий, изменяющих состояние.
  • PUT — замена существующего ресурса целиком.
  • PATCH — частичное обновление ресурса.
  • DELETE — удаление ресурса.
  • OPTIONS — получение списка поддерживаемых сервером методов для конкретного ресурса.
  • HEAD — получение только заголовков ответа, без тела, часто используется для проверки существования или метаданных.
Метод Назначение Особенности
GET Получить данные Без изменения ресурса
POST Создать ресурс Может создавать и выполнять команды
PUT Полностью обновить ресурс Требует полного тела ресурса
PATCH Частично обновить ресурс Обновляет отдельные поля
DELETE Удалить ресурс Удаляет указанный ресурс
OPTIONS Запросить поддерживаемые методы Используется для CORS и диагностики
HEAD Получить заголовки ресурса Без тела ответа, аналог GET

Пример

GET /users/123       # Получить данные пользователя с ID 123
POST /users          # Создать нового пользователя с данными в теле запроса
PUT /users/123       # Полностью заменить данные пользователя 123
PATCH /users/123     # Частично обновить данные пользователя 123
DELETE /users/123    # Удалить пользователя 123
OPTIONS /users/123   # Узнать, какие методы поддерживает ресурс
HEAD /users/123      # Получить метаданные пользователя без тела

В этом примере каждый метод служит для конкретного действия с ресурсом users.

Что важно знать на собеседовании

  • Разница между PUT (полное обновление) и PATCH (частичное обновление).
  • Значение методов OPTIONS и HEAD для диагностики и оптимизации.
  • Идемпотентность методов — GET, PUT, DELETE, HEAD являются идемпотентными, а POST — нет.
  • Как HTTP-методы соотносятся с CRUD-операциями.
  • Роль корректного использования HTTP-методов для REST-совместимости и масштабируемости API.

Тема: HTTP, REST и API | Уровень: senior