Sobes.tech
Back to questions
Senior
8

В чём отличие между методами PUT и POST? Как они ведут себя при повторной отправке одного и того же запроса? Что делает PATCH?

Companies where asked
ПромсвязьбанкПромсвязьбанк

Answer from AI

sobes.tech AI

Методы HTTP PUT и POST отличаются по семантике и поведению:

  • PUT — идемпотентный метод, используется для полного обновления ресурса по указанному URL. При повторной отправке одного и того же PUT-запроса результат не изменится, так как ресурс будет перезаписан одинаковыми данными.

  • POST — неидемпотентный метод, обычно используется для создания новых ресурсов или выполнения действий. Повторная отправка POST-запроса может привести к созданию дубликатов или повторному выполнению операции.

  • PATCH — используется для частичного обновления ресурса, отправляя только изменённые поля. В отличие от PUT, который заменяет весь ресурс, PATCH применяет изменения к существующему объекту.

Пример:

PUT /users/123
{
  "name": "Иван",
  "age": 30
}

PATCH /users/123
{
  "age": 31
}

POST /users
{
  "name": "Иван",
  "age": 30
}

Повторный PUT с теми же данными не изменит ресурс, повторный POST создаст нового пользователя, повторный PATCH обновит возраст снова.