Spec-Zone.ru › HTTP

PATCH

PATCH

Запрос PATCH применяется для частичных изменений ресурса.

PATCH несколько аналогичен концепции «обновления», которая встречается в CRUD (в общем случае HTTP отличается от CRUD, и их не следует путать).

Запрос PATCH рассматривается как набор инструкций по модификации ресурса. В отличие от PUT, который представляет собой полное представление ресурса.

Запрос PATCH не обязательно является идемпотентным, хотя и может быть таковым. В отличие от PUT, который всегда идемпотентен. Слово «идемпотентный» означает, что любое количество повторяющихся идентичных запросов оставит ресурс в том же состоянии. Например, если поле автоинкрементируемого счётчика является неотъемлемой частью ресурса, то PUT естественно перезапишет его (так как он перезаписывает всё), но не обязательно для PATCH.

PATCH (как POST) может иметь побочные эффекты на другие ресурсы.

Чтобы узнать, поддерживает ли сервер PATCH, сервер может объявлять об этом, добавив его в список в заголовках ответа Allow или Access-Control-Allow-Methods (для CORS).

Другим (неявным) признаком того, что PATCH разрешено, является наличие заголовка Accept-Patch, который указывает форматы документов исправлений, принимаемые сервером.

Запрос содержит тело Да
Успешный ответ содержит тело Да
Безопасный Нет
Идемпотентный Нет
Кэшируемый Нет
Разрешено в HTML-формах Нет

Синтаксис

PATCH /file.txt HTTP/1.1

Пример

Запрос

PATCH /file.txt HTTP/1.1
Host: www.example.com
Content-Type: application/example
If-Match: "e0023aa4e"
Content-Length: 100

[description of changes]

Ответ

Успешный ответ обозначается любым кодом состояния 2xx.

В примере ниже используется код ответа 204, так как ответ не содержит тела полезной нагрузки. Ответ 200 мог бы содержать тело полезной нагрузки.

HTTP/1.1 204 No Content
Content-Location: /file.txt
ETag: "e0023aa4f"

Спецификации

Спецификация
RFC 5789

См. также

  • 204
  • Allow, Access-Control-Allow-Methods
  • Accept-Patch – определяет форматы документов исправлений, принимаемые сервером.

© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PATCH

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API