Content-Type
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Заголовок-сущность Content-Type
используется для того, чтобы определить MIME тип ресурса.
В ответах сервера заголовок Content-Type
сообщает клиенту, какой будет тип передаваемого контента. В некоторых случаях браузеры пытаются сами определить MIME тип передаваемого контента, но их реакция может быть неадекватной. Чтобы предотвратить такие ситуации, вы можете установить в заголовке X-Content-Type-Options
значение nosniff
.
В запросах (таких, как POST
или PUT
), клиент сообщает серверу тип отправляемых данных.
Тип заголовка | Entity header |
---|---|
Forbidden header name | нет |
CORS-safelisted response-header | да |
Синтаксис
Content-Type: text/html; charset=utf-8 Content-Type: multipart/form-data; boundary=something
Директивы
media-type
-
MIME тип ресурса или данных.
- charset
-
Используемая кодировка.
- boundary
-
Директива
boundary
обязательна для составных сущностей. Она содержит от 1 до 70 символов (не должна заканчиваться пробелом), которые без искажений пройдут через шлюзы email и служит для корректной инкапсуляции всех частей составной сущности.
Примеры
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" some text -----------------------------974767299852498929531610575 Content-Disposition: form-data; name="myFile"; filename="foo.txt" Content-Type: text/plain (content of the uploaded file foo.txt) -----------------------------974767299852498929531610575--
Спецификации
Спецификация | Заголовок |
---|---|
RFC 7233, раздел 4.1: Content-Type in multipart | Hypertext Transfer Protocol (HTTP/1.1): Range Requests |
RFC 7231, раздел 3.1.1.5: Content-Type | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
Accept
Content-Disposition
206
Partial ContentX-Content-Type-Options