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

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

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Content-TypeChrome Full support YesEdge Full support YesFirefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes

Legend

Full support  
Full support

Див. також