На этой странице возникла скриптовая ошибка. Хотя она адресуется редакторам сайта, вы можете просмотреть частичное содержимое ниже.

В процессе перевода.

{{HTTPSidebar}}

Метод HTTP POST предназначен для отправки данных на сервер. Тип тела запроса указывается в заголовке {{HTTPHeader("Content-Type")}}.

Разница между PUT and {{HTTPMethod("POST")}} состоит в том, что PUT является идемпотентным: повторное его применение дает тот же результат, что и при первом применении (то есть у метода нет побочных эффектов), тогда как повторный вызов одного и того же POST метода может иметь такие эффекты, например, оформление одного и того же заказа несколько раз.

Запрос POST обычно отправляется через форму HTML и приводит к изменению на сервере. В этом случае тип содержимого выбирается путем размещения соответствующей строки в атрибуте {{htmlattrxref ("enctype", "form")}} элемента {{HTMLElement ("form")}} или {{htmlattrxref ( "formenctype", "input")}} атрибута элементов {{HTMLElement ("input")}} или {{HTMLElement ("button")}}:

    
application / x-www-form-urlencoded: значения кодируются в кортежах с ключом, разделенных символом «&», с «=» между ключом и значением. Не буквенно-цифровые символы - {{glossary ("percent encoded")}}: это причина, по которой этот тип не подходит для использования с двоичными данными (вместо этого используйте multipart / form-data)
    
многочастному / форм-данных,
    
текст / обычный

Когда запрос POST отправляется с помощью метода, отличного от HTML-формы, - например, через {{domxref ("XMLHttpRequest")}} - тело может принимать любой тип. Как описано в спецификации HTTP 1.1, POST предназначен для обеспечения единообразного метода для покрытия следующих функций:

 

  • Аннотация существующих ресурсов
  • Публикация сообщения на доске объявлений, в новостной группе, в списке рассылки или в аналогичной группе статей;
  • Добавление нового пользователя посредством модальности регистрации;
  • Предоставление блока данных, например, результата отправки формы, процессу обработки данных;
  • Расширение базы данных с помощью операции добавления.

Request has body Yes
Successful response has body Yes
{{Glossary("Safe")}} No
{{Glossary("Idempotent")}} No
{{Glossary("Cacheable")}} Only if freshness information is included
Allowed in HTML forms Yes

Syntax

POST /index.html

Example

A simple form using the default application/x-www-form-urlencoded content type:

POST / HTTP/1.1
Host: foo.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 13

say=Hi&to=Mom

A form using the multipart/form-data content type:

POST /test.html HTTP/1.1 
Host: example.org 
Content-Type: multipart/form-data;boundary="boundary" 

--boundary 
Content-Disposition: form-data; name="field1" 

value1 
--boundary 
Content-Disposition: form-data; name="field2"; filename="example.txt" 

value2

Specifications

Specification Title
{{RFC("7231", "POST", "4.3.3")}} Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

Browser compatibility

{{Compat("http.methods.POST")}}

See also

  • {{HTTPHeader("Content-Type")}}
  • {{HTTPHeader("Content-Disposition")}}

Метки документа и участники

 Внесли вклад в эту страницу: abdulazizjs, ghost28147
 Обновлялась последний раз: abdulazizjs,