PUT
Разница между PUT
и POST
в том, что PUT
является идемпотентным, т.е. единичный и множественные вызовы этого метода, с идентичным набором данных, будут иметь тот же результат выполнения (без сторонних эффектов), в случае с POST
, множественный вызов с идентичным набором данных может повлечь за собой сторонние эффекты.
Запрос имеет тело | Да |
---|---|
Успешный ответ имеет тело | Нет |
Безопасный | Нет |
Идемпотентный | Да |
Кешируемый | Нет |
Допускается в HTML-формах | Нет |
Синтаксис
PUT /new.html HTTP/1.1
Пример
Запрос
PUT /new.html HTTP/1.1 Host: example.com Content-type: text/html Content-length: 16 <p>Новый файл</p>
Ответ
Если целевой ресурс не содержит отправляемой сущности и PUT
запрос создаёт её, то сервер должен проинформировать клиентское приложение о создании, отправив в ответ 201
(Created
).
HTTP/1.1 201 Created Content-Location: /new.html
Если целевой ресурс содержит отправляемую сущность и сущность была успешно мутирована (обновлена), в соответствии с прилагаемыми в теле запроса данными, то сервер должен отправить или 200
(OK
), или 204
(No Content
) для информирования об успешном завершении запроса.
HTTP/1.1 204 No Content Content-Location: /existing.html
Спецификации
Спецификация | Заголовок |
---|---|
RFC 7231, раздел 4.3.4: PUT | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
Совместимость с браузерами
BCD tables only load in the browser