--- title: PUT slug: Web/HTTP/Methods/PUT tags: - HTTP - HTTP методы - Метод запроса - Справка translation_of: Web/HTTP/Methods/PUT ---
{{HTTPSidebar}}
Метод запроса HTTP 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("http.methods.PUT")}}

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