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]
Ответ
Спецификации
| Спецификация |
|---|
| 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