aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/http/headers/content-disposition/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ru/web/http/headers/content-disposition/index.html')
-rw-r--r--files/ru/web/http/headers/content-disposition/index.html138
1 files changed, 138 insertions, 0 deletions
diff --git a/files/ru/web/http/headers/content-disposition/index.html b/files/ru/web/http/headers/content-disposition/index.html
new file mode 100644
index 0000000000..7004a28735
--- /dev/null
+++ b/files/ru/web/http/headers/content-disposition/index.html
@@ -0,0 +1,138 @@
+---
+title: Content-Disposition
+slug: Web/HTTP/Headers/Content-Disposition
+tags:
+ - HTTP
+ - HTTP-заголовок
+ - header
+translation_of: Web/HTTP/Headers/Content-Disposition
+original_slug: Web/HTTP/Заголовки/Content-Disposition
+---
+<div>{{HTTPSidebar}}</div>
+
+<div>В обычном HTTP-ответе заголовок <code><strong>Content-Disposition</strong></code> является индикатором того, что ожидаемый контент ответа будет отображаться в браузере, как вэб-страница или часть вэб-страницы, или же как вложение, которое затем может быть скачано и сохранено локально.</div>
+
+<div> </div>
+
+<p>В случае, если тело HTTP-запроса типа <code>multipart/form-data</code>, то общий заголовок <strong><code>Content-Disposition</code></strong> используется для каждой из составных частей multipart тела для указания дополнительных сведений по полю, к которому применён заголовок. Каждая часть отделена с помощью <em>границы (boundary)</em>, определённой в заголовке {{HTTPHeader("Content-Type")}}. <code>Content-Disposition,</code> используемый непосредственно для всего тела HTTP-запроса, ни на что не влияет.</p>
+
+<p>Заголовок <code>Content-Disposition</code> определён для более широкого контекста MIME-сообщений для e-mail, поэтому для HTTP-форм и {{HTTPMethod("POST")}}-запросов используются только несколько допустимых параметров. В контексте HTTP можно использовать только значение <code>form-data</code>, а также опциональные директивы <code>name</code> и <code>filename</code>.</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Тип заголовка</th>
+ <td>{{Glossary("Response header", "Заголовок ответа")}} (для тела ответа простого типа)<br>
+ {{Glossary("General header", "Основной заголовок")}} (для каждой части составного тела)</td>
+ </tr>
+ <tr>
+ <th scope="row">{{Glossary("Forbidden header name", "Запрещённое имя заголовка")}}</th>
+ <td>нет</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<h3 id="Как_заголовок_ответа_с_обычным_телом">Как заголовок ответа с обычным телом</h3>
+
+<p>Первым параметром в контексте HTTP должен быть или <code>inline</code> (это значение по умолчанию, указывающее, что контент должен быть отображен внутри вэб-страницы или как вэб-страница) или <code>attachment</code> (указывает на скачиваемый контент; большинство браузеров отображают диалог "Сохранить как" с заранее заполненным именем файла из параметра <code>filename</code>, если он задан).</p>
+
+<pre class="syntaxbox">Content-Disposition: inline
+Content-Disposition: attachment
+Content-Disposition: attachment; filename="filename.jpg"</pre>
+
+<h3 id="Как_заголовок_в_составном_теле">Как заголовок в составном теле</h3>
+
+<p>Первым параметром в контексте HTTP всегда является <code>form-data</code>; дополнительные параметры регистронезависимые и могут иметь аргументы, значения которых следуют после знака <code>'='</code> и берутся в кавычки. Несколько параметров разделяются через точку с запятой (<code>';'</code>).</p>
+
+<pre class="syntaxbox">Content-Disposition: form-data
+Content-Disposition: form-data; name="fieldName"
+Content-Disposition: form-data; name="fieldName"; filename="filename.jpg"</pre>
+
+<h3 id="Директивы">Директивы</h3>
+
+<dl>
+ <dt><code>name</code></dt>
+ <dd>За параметром следует строка с именем HTML-поля на форме, к которому относится данная часть составного тела. При работе с несколькими файлами в том же самом поле (например, атрибуты {{htmlattrxref("multiple", "input")}} элемента <code>{{HTMLElement("input","&lt;input type=file&gt;")}}</code>), могут быть несколько частей с одинаковым именем.<br>
+ Если <code>name</code> имеет значение <code>'_charset_'</code>, указывающее, что данная часть не является HTML-полем, то она содержит кодировку по умолчанию для всех частей, в которых явно кодировка не указана.</dd>
+ <dt><code>filename</code></dt>
+ <dd>За параметром указана строка с оригинальным именем передаваемого файла. Это имя опционально и не может слепо использоваться приложением: информация о пути должна быть очищена и должно быть сделано преобразование к файловой системе сервера. Этот параметр предоставляет в основном справочную информацию. Когда используется в комбинации с <code>Content-Disposition: attachment</code>, это значение будет использовано как имя файла по умолчанию для диалога "Сохранить как".</dd>
+ <dt>filename*</dt>
+ <dd>
+ <p>Оба параметра "filename" и "filename*" отличаются только тем, что "filename*"  использует кодирование, определённое в <a href="https://tools.ietf.org/html/rfc5987">RFC 5987</a>. Когда присутствуют оба параметра "filename" и "filename*" в одном поле заголовке, то преимущество имеет "filename*" над "filename", но только в случае когда оба значения корректны.</p>
+ </dd>
+</dl>
+
+<h2 id="Примеры">Примеры</h2>
+
+<p>Ответ, вызывающий диалог "Сохранить как":</p>
+
+<pre>200 OK
+Content-Type: text/html; charset=utf-8
+Content-Disposition: attachment; filename="cool.html"
+Content-Length: 22
+
+&lt;HTML&gt;Save me!&lt;/HTML&gt;
+</pre>
+
+<p>Простой HTML-файл будет сохранён как обычное сохранение с диалогом "Сохранить как" вместо отображения контента файла в браузере. Большинство браузеров предложат его сохранить под именем <code>cool.html</code> (это поведение по умолчанию).</p>
+
+<p>Пример HTML-формы, переданной через POST с использованием формата <code>multipart/form-data</code>, который использует заголовок <code>Content-Disposition</code>:</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
+--boundary--</pre>
+
+<h2 id="Спецификации">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Название</th>
+ </tr>
+ <tr>
+ <td>{{RFC("7578")}}</td>
+ <td>Returning Values from Forms: multipart/form-data</td>
+ </tr>
+ <tr>
+ <td>{{RFC("6266")}}</td>
+ <td>Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</td>
+ </tr>
+ <tr>
+ <td>{{RFC("2183")}}</td>
+ <td>Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field</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.Content-Disposition")}}</p>
+
+<h2 id="Замечания_по_совместимости">Замечания по совместимости</h2>
+
+<ul>
+ <li>Firefox 5 обрабатывает <code>Content-Disposition заголовка</code> HTTP-ответа response более эффективно, если присутствуют оба параметра <code>filename</code> и <code>filename*</code>; он просматривает сначала все предоставленные имена <code>filename*</code>, даже есть вначале идут <code>filename</code>. Ранее использовалось первое найденное имя. See {{bug(588781)}}.</li>
+</ul>
+
+<h2 id="Смотрите_также">Смотрите также</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/Guide/HTML/Forms">HTML-формы</a></li>
+ <li>{{HTTPHeader("Content-Type")}} определяет границу для частей составного тела.</li>
+ <li>Интерфейс {{domxref("FormData")}} используется для обработки данных форм для использования в API {{domxref("XMLHttpRequest")}}.</li>
+</ul>