Основные 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