PATCH

Метод запроса HTTP PATCH применяет частичную модификацию к ресурсу.

HTTP метод PUT позволяет только полную замену документа. В отличие от PUT, PATCH не идемпотентный, это подразумевает что успешные идентичные PATCH запросы могут иметь отличные эффекты. Однако, возможно выдавать запросы PATCH таким образом, чтобы они были идемпотентные.

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

Чтобы обозначить, поддерживает ли сервер 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]

Ответ

Успешный ответ указывается с помощью кода ответа 204, поскольку ответ в примере не содержит тела сообщения.  (Который будет иметь код ответа 200).  Обратите внимание, что другие коды успеха также могут быть использованы.

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

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

Спецификация Заголовок
RFC 5789: PATCH PATCH Method for HTTP

Смотрите также