PUT
Метод запроса HTTP 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 |