1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
---
title: POST
slug: Web/HTTP/Methods/POST
translation_of: Web/HTTP/Methods/POST
---
<div>{{HTTPSidebar}}</div>
<p><span class="tlid-translation translation"><span title=""><strong>HTTP</strong>-<strong>метод </strong></span></span><strong><code>POST</code> </strong><span class="tlid-translation translation"><span title="">надсилає дані на сервер.</span> <span title="">Тип тіла запиту позначається в заголовку </span></span>{{HTTPHeader("Content-Type")}} <span class="tlid-translation translation"><span title="">.</span></span></p>
<p><span class="tlid-translation translation"><span title="">Різниця між </span></span><code>PUT</code> <span class="tlid-translation translation"><span title="">і </span></span>{{HTTPMethod("POST")}}<span class="tlid-translation translation"><span title=""> полягає в тому, що </span></span><code>PUT</code> <span class="tlid-translation translation"><span title="">є ідемпотентним: кілька послідовних викликів має той же ефект що і один раз (не дасть побічних ефектів). В противагу цьому, послідовні ідентичні виклики </span></span><code>POST</code> <span class="tlid-translation translation"><span title="">можуть мати додаткові ефекти,</span> <span title="">подібно проходження замовлення кілька разів.</span></span></p>
<p><span class="tlid-translation translation"><span title="">Запит </span></span><code>POST</code> <span class="tlid-translation translation"><span title="">зазвичай надсилається через <a href="/uk/docs/Web/Guide/HTML/Forms">HTML-форму</a> і призводить до зміни на сервері.</span> <span title="">У цьому випадку тип вмісту вибирається шляхом введення відповідного рядка в атрибут </span></span>{{htmlattrxref("enctype", "form")}}<span class="tlid-translation translation"><span title=""> елемента </span></span>{{HTMLElement("form")}}, <span class="tlid-translation translation"><span title=""> або в атрибут</span></span> {{htmlattrxref("formenctype", "input")}} <span class="tlid-translation translation"><span title=""> елементів </span></span>{{HTMLElement("input") }} <span class="tlid-translation translation"><span title=""> або </span></span>{{HTMLElement("button")}}<span class="tlid-translation translation"><span title="">:</span></span></p>
<ul>
<li><code>application/x-www-form-urlencoded</code><span class="tlid-translation translation"><span title="">: ключі та значення кодуються в кортежах ключ-значення, розділених символом </span></span><code>'&'</code><span class="tlid-translation translation"><span title=""> з </span></span><code>'='</code> <span class="tlid-translation translation"><span title=""> між ключем і значенням.</span> <span title="">Цей тип не підходить для використання з двійковими даними, тому що тут н</span><span title="">е дозволяються не алфавітно-цифрові символи як в ключах так і в значеннях </span></span>{{glossary("percent-encoding", "percent encoded")}}<span class="tlid-translation translation"><span title="">, використовуйте замість цього </span></span> <code>multipart/form-data</code></li>
<li><code>multipart/form-data</code></li>
<li><code>text/plain</code></li>
</ul>
<p><span class="tlid-translation translation"><span title="">Коли запит </span></span><code>POST</code> <span class="tlid-translation translation"><span title="">відправляється за допомогою методу, відмінного від HTML-форми - як наприклад через </span></span>{{domxref("XMLHttpRequest")}}<span class="tlid-translation translation"><span title=""> - тіло може приймати будь-який тип.</span> <span title="">Як описано в специфікації HTTP 1.1, </span></span><code>POST</code> <span class="tlid-translation translation"><span title=""> призначений для забезпечення уніфікованого методу для виконання наступних функцій:</span></span></p>
<ul>
<li><span class="tlid-translation translation"><span title="">Анотування існуючих ресурсів</span></span></li>
<li><span class="tlid-translation translation"><span title="">Розміщення повідомлення на дошці оголошень, групі новин, списку розсилки або подібній групі статей;</span></span></li>
<li><span class="tlid-translation translation"><span title="">Додавання нового користувача через реєстраційне вікно;</span></span></li>
<li> <span class="tlid-translation translation"><span title="">Надання блоку даних, таких як результат подання форми до процесу обробки даних;</span></span></li>
<li><span class="tlid-translation translation"><span title="">Розширення бази даних через операцію додавання.</span></span></li>
</ul>
<table class="properties">
<tbody>
<tr>
<th scope="row">Запит має тіло</th>
<td>Так</td>
</tr>
<tr>
<th scope="row">Успішна відповідь має тіло</th>
<td>Так</td>
</tr>
<tr>
<th scope="row">{{Glossary("Safe")}}</th>
<td>Ні</td>
</tr>
<tr>
<th scope="row">{{Glossary("Idempotent")}}</th>
<td>Ні</td>
</tr>
<tr>
<th scope="row">{{Glossary("Cacheable")}}</th>
<td>Тільки у випадку, якщо включена інформація про свіжість</td>
</tr>
<tr>
<th scope="row">Дозволений в <a href="/uk/docs/Web/Guide/HTML/Forms">HTML-формах</a></th>
<td>Так</td>
</tr>
</tbody>
</table>
<h2 id="Синтаксис">Синтаксис</h2>
<pre class="syntaxbox">POST /index.html
</pre>
<h2 id="Приклад">Приклад</h2>
<p><span class="tlid-translation translation"><span title="">Проста форма з використанням типового типу вмісту </span></span><code>application/x-www-form-urlencoded</code><span class="tlid-translation translation"><span title="">:</span></span></p>
<pre class="line-numbers language-html">POST / HTTP/1.1
Host: foo.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 13
say=Hi&to=Mom</pre>
<p><span class="tlid-translation translation"><span title="">Форма, що використовує тип вмісту </span></span><code>multipart/form-data</code><span class="tlid-translation translation"><span title="">:</span></span></p>
<pre>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</pre>
<h2 id="Специфікація">Специфікація</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">Specification</th>
<th scope="col">Title</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{RFC("7231", "POST", "4.3.3")}}</td>
<td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td>
</tr>
</tbody>
</table>
<h2 id="Сумісність_з_браузерами">Сумісність з браузерами</h2>
<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
<p>{{Compat("http.methods.POST")}}</p>
<h2 id="See_also">See also</h2>
<ul>
<li>{{HTTPHeader("Content-Type")}}</li>
<li>{{HTTPHeader("Content-Disposition")}}</li>
</ul>
|