Чем отличаются HTTP-методы POST, PUT и PATCH и когда их применять?

Чем различаются HTTP-методы POST, PUT и PATCH HTTP-методы для изменения ресурсов POST: создаёт новый ресурс, неидемпотентен (повторные запросы могут дать разные результаты) PUT: полностью заменяет ресурс, идемпотентен…

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

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

Чем различаются HTTP-методы POST, PUT и PATCH HTTP-методы для изменения ресурсов POST: создаёт новый ресурс, неидемпотентен (повторные запросы могут дать разные результаты) PUT: полностью заменяет ресурс, идемпотентен (повторение запроса сохраняет тот же эффект) PATCH: обновляет ресурс частично, идемпотентность определяется реализацией POST обычно применяют при создании, PUT и PATCH — при обновлении Для PUT передаётся полный объект, а для PATCH — только изменяемые поля Метод выбирают по задаче: создание (POST), полная замена (PUT) или частичное обновление (PATCH)

Подробный разбор

Ответ с пояснениями

Чем различаются HTTP-методы POST, PUT и PATCH

  • HTTP-методы для изменения ресурсов
  • POST: создаёт новый ресурс, неидемпотентен (повторные запросы могут дать разные результаты)
  • PUT: полностью заменяет ресурс, идемпотентен (повторение запроса сохраняет тот же эффект)
  • PATCH: обновляет ресурс частично, идемпотентность определяется реализацией
  • POST обычно применяют при создании, PUT и PATCH — при обновлении
  • Для PUT передаётся полный объект, а для PATCH — только изменяемые поля
  • Метод выбирают по задаче: создание (POST), полная замена (PUT) или частичное обновление (PATCH)

Подробный ответ

Основной ответ

HTTP-методы POST, PUT и PATCH используются для создания и изменения ресурсов, однако их семантика и поведение различаются. POST чаще всего применяют для создания ресурса или запуска операции, PUT — для полной замены существующего ресурса, а PATCH — для его частичного обновления.

Ключевые моменты

  • POST: Передаёт серверу данные, чтобы создать ресурс или запустить операцию. Метод неидемпотентен: повторная отправка запроса может привести к появлению дубликатов. Например, пользователя создают через POST /users.
  • PUT: Полностью заменяет ресурс по заданному URI новым представлением. Метод идемпотентен: повторная отправка того же запроса с теми же данными приводит к тому же результату. Если ресурса ещё нет, реализация иногда создаёт его. Например, профиль пользователя можно заменить через PUT /users/123.
  • PATCH: Изменяет ресурс частично, затрагивая только переданные поля и сохраняя остальные без изменений. Как правило, метод идемпотентен, но это зависит от реализации. Он эффективнее при работе с крупными ресурсами и точечными обновлениями.

Практический контекст

В REST API на базе React 18 и Node.js POST часто используют для создания, PUT — для полной замены объекта, а PATCH — для изменения отдельного поля, например статуса задачи. Идемпотентность PUT и PATCH облегчает обработку повторных сетевых запросов и повышает надёжность системы.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку