Назад к вопросам
Senior
6
HTTP методы REST: какие есть, для чего каждый используется, какие идемпотентные, какие нет?
Компании, где спрашивали
Позитив Технолоджис
Ответ от нейросети
sobes.tech AI
Основные HTTP методы в REST и их назначение:
- GET — получение ресурса. Идемпотентный и безопасный метод, не должен изменять состояние сервера.
- POST — создание ресурса или выполнение операции. Не идемпотентный, повторный вызов может создавать дубликаты.
- PUT — обновление или замена ресурса. Идемпотентный: повторный вызов с теми же данными не изменит результат.
- PATCH — частичное обновление ресурса. Обычно идемпотентный, но зависит от реализации.
- DELETE — удаление ресурса. Идемпотентный: повторное удаление того же ресурса не изменит состояние.
- HEAD — получение только заголовков ресурса, без тела. Идемпотентный и безопасный.
- OPTIONS — получение поддерживаемых сервером методов для ресурса.
Идемпотентные методы: GET, PUT, DELETE, HEAD, OPTIONS, PATCH (обычно).
Неидемпотентный метод: POST.
Пример:
- GET /users/123 — получить пользователя с ID 123
- POST /users — создать нового пользователя
- PUT /users/123 — заменить данные пользователя 123
- PATCH /users/123 — обновить часть данных пользователя 123
- DELETE /users/123 — удалить пользователя 123
Идемпотентность важна для надёжности: если запрос повторяется (например, из-за сетевых сбоев), состояние сервера не изменится непредсказуемо.