aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/http/headers/accept-encoding/index.html
blob: f60d85eba5552466a2c08c8358a07b29b40fb632 (plain)
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
---
title: Accept-Encoding
slug: Web/HTTP/Заголовки/Accept-Encoding
translation_of: Web/HTTP/Headers/Accept-Encoding
---
<div>{{HTTPSidebar}}</div>

<p>HTTP-<span class="tlid-translation translation"><span title="">заголовок запиту </span></span><strong><code>Accept-Encoding </code></strong><span class="tlid-translation translation"><span title="">вказує, яке кодування контенту може зрозуміти клієнт. Зазвичай це вказує на алгоритм стиснення.</span> <span title="">Використовуючи <a href="/uk/docs/Web/HTTP/Content_negotiation">узгодження вмісту</a>, сервер вибирає одну з пропозицій, використовує її та інформує клієнта про вибір за допомогою заголовка відповіді </span></span>{{HTTPHeader("Content-Encoding")}}<span class="tlid-translation translation"><span title="">.</span></span></p>

<p><span class="tlid-translation translation"><span title="">Навіть якщо клієнт і сервер підтримують однакові алгоритми стиснення, сервер може не стискати тіло відповіді, якщо значення </span></span><code>identity</code> <span class="tlid-translation translation"><span title="">також є прийнятним.</span> <span title="">Два загальні випадки призводять до цього:</span></span></p>

<ul>
 <li><span class="tlid-translation translation"><span title="">Дані, які потрібно надіслати, вже стиснуті, а друге стиснення не призведе до передачі менших даних.</span> <span title="">Це може бути у випадку з деякими форматами зображень;</span></span></li>
 <li><span class="tlid-translation translation"><span title="">Сервер перевантажений і не може дозволити собі накладні витрати, спричинені вимогою стиснення.</span> <span title="">Як правило, Microsoft рекомендує не стискати вміст, якщо сервер використовує більше 80% своєї обчислювальної потужності.</span></span></li>
</ul>

<p><span class="tlid-translation translation"><span title="">До тих пір, поки значення </span></span><code>identity</code> <span class="tlid-translation translation"><span title="">(тобто без кодування) явно не заборонено </span></span><code>identity;q=0</code><span class="tlid-translation translation"><span title=""> або </span></span><code>*;q=0</code><span class="tlid-translation translation"><span title=""> без іншого явно заданого значення для ідентифікації, сервер ніколи не повинен відправляти назад помилку </span></span>{{HTTPStatus("406")}} <code>Not Acceptable</code> <span class="tlid-translation translation"><span title="">.</span></span></p>

<div class="note"><strong>Примітка:</strong>

<ul>
 <li>
  <p><span class="tlid-translation translation"><span title="">Реєстр IANA підтримує <a href="http://www.iana.org/assignments/http-parameters/http-parameters.xml#http-parameters-1">повний перелік офіційних кодувань вмісту</a>.</span></span> </p>
 </li>
 <li><span class="tlid-translation translation"><span title="">Іноді використовуються два інші кодування вмісту, </span></span><code>bzip </code><span class="tlid-translation translation"><span title="">і </span></span><code>bzip2</code><span class="tlid-translation translation"><span title="">, хоч вони не є стандартними.</span> Ці кодування <span title=""> реалізують алгоритм, використовуваний одноіменними програмами UNIX.</span> <span title="">Зверніть увагу, що перша була припинена через проблеми ліцензування патенту.</span></span></li>
</ul>
</div>

<table class="properties">
 <tbody>
  <tr>
   <th scope="row">Тип заголовку</th>
   <td>{{Glossary("Request header")}}</td>
  </tr>
  <tr>
   <th scope="row">{{Glossary("Forbidden header name")}}</th>
   <td>так</td>
  </tr>
 </tbody>
</table>

<h2 id="Синтаксис">Синтаксис</h2>

<pre class="syntaxbox">Accept-Encoding: gzip
Accept-Encoding: compress
Accept-Encoding: deflate
Accept-Encoding: br
Accept-Encoding: identity
Accept-Encoding: *

// Multiple algorithms, weighted with the {{Glossary("Quality Values", "quality value")}} syntax:
Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5</pre>

<h2 id="Директиви">Директиви</h2>

<dl>
 <dt><code>gzip</code></dt>
 <dd>Формат стиснення, що використовує кодування <a class="external external-icon" href="http://en.wikipedia.org/wiki/LZ77_and_LZ78#LZ77">Lempel-Ziv coding</a> (LZ77), з 32-bit CRC.</dd>
 <dt><code>compress</code></dt>
 <dd>Формат стиснення, що використовує алгоритм <a class="external external-icon" href="http://en.wikipedia.org/wiki/LZW">Lempel-Ziv-Welch</a> (LZW) .</dd>
 <dt><code>deflate</code></dt>
 <dd>Формат стиснення, що використовує структуру <a class="external external-icon" href="http://en.wikipedia.org/wiki/Zlib">zlib</a>, з алгоритмом стиснення <a class="external external-icon" href="http://en.wikipedia.org/wiki/DEFLATE"><em>deflate</em></a>.</dd>
 <dt><code>br</code></dt>
 <dd>Формат стиснення, що використовує алгоритм <a class="external external-icon" href="https://en.wikipedia.org/wiki/Brotli">Brotli</a> .</dd>
 <dt><code>identity</code></dt>
 <dd><span class="tlid-translation translation"><span title="">Позначає функцію ідентичності (тобто не стискати, не змінювати).</span> <span title="">Це значення завжди вважається прийнятним, навіть воно не вказане.</span></span></dd>
 <dt><code>*</code></dt>
 <dd><span class="tlid-translation translation"><span title="">Відповідає будь-якому кодуванню вмісту, який ще не вказано в заголовку.</span> <span title="">Це значення є типовим, якщо заголовку немає.</span> <span title="">Це не значить, що будь-який алгоритм підтримується,</span> <span title="">просто не висловлюється жодних переваг.</span></span></dd>
 <dt><code>;q=</code> (qvalues weighting)</dt>
 <dd><span class="tlid-translation translation"><span title="">Будь-яке значення розміщується в порядку переваги, що виражається з використанням відносної <a href="/uk/docs/Glossary/Quality_values">величини якості</a>, званої <em>вагою</em>.</span></span></dd>
</dl>

<h2 id="Приклади">Приклади</h2>

<pre>Accept-Encoding: gzip

Accept-Encoding: gzip, compress, br

Accept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1
</pre>

<h2 id="Специфікації">Специфікації</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Title</th>
  </tr>
  <tr>
   <td>{{RFC("7231", "Accept-Encoding", "5.3.4")}}</td>
   <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context</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.headers.Accept-Encoding")}}</p>

<h2 id="Див._також">Див. також</h2>

<ul>
 <li>HTTP <a href="/uk/docs/Web/HTTP/Content_negotiation">content negotiation</a></li>
 <li>Header with the result of the content negotiation: {{HTTPHeader("Content-Encoding")}}</li>
 <li>Other similar headers: {{HTTPHeader("TE")}}, {{HTTPHeader("Accept")}}, {{HTTPHeader("Accept-Charset")}}, {{HTTPHeader("Accept-Language")}}</li>
</ul>