Content-Type

Заголовок об'єкта Content-Type використовується для позначення ресурсу media type .

У відповідях у заголовку Content-Type сервер повідомляє клієнту, який саме тип вмісту повертається. Браузери в деяких випадках виконують стеження за MIME і не обов'язково слідкують за значенням цього заголовка; Щоб запобігти такій поведінці, заголовок X-Content-Type-Options може бути встановлений рівним nosniff.

У запитах (наприклад, POST або PUT) клієнт повідомляє серверу, який тип даних відправляється.

Header type Entity header
Forbidden header name no
CORS-safelisted response-header yes

Синтаксис

Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=something

Директиви

media-type
Тип MIME ресурсу або даних.
charset
Стандарт кодування символів.
boundary
Для багаточастинних (multipart) об'єктів необхідна директива boundary , яка складається з 1 до 70 символів з набору символів, відомих як дуже надійні через шлюзи електронної пошти, і не закінчуючись пробілами. Директива використовується для інкапсуляції меж кількох частин повідомлення. Часто кордон заголовка доповнюється двома тире в тілі, і кінцева межа також має два тире, які додаються.

Приклади

Content-Type в формах HTML

У запиті POST, що відправляється в результаті роботи HTML-форми, Content-Type запиту задається атрибутом enctype елемента <form>.

<form action="/" method="post" enctype="multipart/form-data">
  <input type="text" name="description" value="some text">
  <input type="file" name="myFile">
  <button type="submit">Submit</button>
</form>

Запит виглядає приблизно так (тут менш цікавідля прикладу заголовки не вказані):

POST /foo HTTP/1.1
Content-Length: 68137
Content-Type: multipart/form-data; boundary=---------------------------974767299852498929531610575

-----------------------------974767299852498929531610575
Content-Disposition: form-data; name="description"

якийсь текст
-----------------------------974767299852498929531610575
Content-Disposition: form-data; name="myFile"; filename="foo.txt"
Content-Type: text/plain

(вміст вивантажуваного файлу foo.txt)
-----------------------------974767299852498929531610575--

Специфікації

Specification Title
RFC 7233, section 4.1: Content-Type in multipart Hypertext Transfer Protocol (HTTP/1.1): Range Requests
RFC 7231, section 3.1.1.5: Content-Type Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

Сумісність з браузерами

BCD tables only load in the browser

Див. також