Назад к вопросам
СБЕР
Senior
5
Расскажите про HTTP-методы: какие знаете, чем отличаются PUT от POST, GET от POST, зачем нужен PATCH?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
HTTP-методы определяют тип операции, которую клиент хочет выполнить с ресурсом на сервере:
- GET — запрос на получение данных. Безопасный и идемпотентный метод, не должен изменять состояние сервера.
- POST — отправка данных на сервер для создания нового ресурса или выполнения операции. Не идемпотентен.
- PUT — замена существующего ресурса или создание, если его нет. Идемпотентен (повторные запросы дают тот же результат).
- PATCH — частичное обновление ресурса, изменяет только указанные поля.
- DELETE — удаление ресурса.
Отличия PUT от POST:
- PUT обычно используется для обновления или создания ресурса по известному URI, запрос идемпотентен.
- POST используется для создания ресурса, URI может быть не фиксирован, запрос не идемпотентен.
Отличия GET от POST:
- GET запрашивает данные, параметры передаются в URL, безопасен и идемпотентен.
- POST отправляет данные в теле запроса, используется для создания или изменения данных, не идемпотентен.
Зачем нужен PATCH:
- PATCH позволяет обновлять только часть ресурса, что эффективнее, чем отправлять весь объект через PUT, особенно при больших данных.
Пример использования PATCH:
PATCH /users/123 HTTP/1.1
Content-Type: application/json
{"email": "newemail@example.com"}