--- title: PUT slug: Web/HTTP/Methods/PUT tags: - HTTP - HTTP методы - Метод запроса - Справка translation_of: Web/HTTP/Methods/PUT ---
Разница между PUT и {{HTTPMethod("POST")}} в том, что PUT является идемпотентным, т.е. единичный и множественные вызовы этого метода, с идентичным набором данных, будут иметь тот же результат выполнения (без сторонних эффектов), в случае с POST, множественный вызов с идентичным набором данных может повлечь за собой сторонние эффекты.
| Запрос имеет тело | Да |
|---|---|
| Успешный ответ имеет тело | Нет |
| {{Glossary("Safe", "Безопасный")}} | Нет |
| {{Glossary("Idempotent", "Идемпотентный")}} | Да |
| {{Glossary("Cacheable", "Кешируемый")}} | Нет |
| Допускается в 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 запрос создаёт её, то сервер должен проинформировать клиентское приложение о создании, отправив в ответ {{HTTPStatus("201")}} (Created).
HTTP/1.1 201 Created Content-Location: /new.html
Если целевой ресурс содержит отправляемую сущность и сущность была успешно мутирована (обновлена), в соответствии с прилагаемыми в теле запроса данными, то сервер должен отправить или {{HTTPStatus("200")}} (OK), или {{HTTPStatus("204")}} (No Content) для информирования об успешном завершении запроса.
HTTP/1.1 204 No Content Content-Location: /existing.html
| Спецификация | Заголовок |
|---|---|
| {{RFC("7231", "PUT", "4.3.4")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
{{Compat}}