Content-Type

优质
小牛编辑
121浏览
2023-12-01

Content-Type实体头用于指示所述媒体类型的资源的。

作为响应,Content-Type标题告诉客户实际返回的内容的内容类型。浏览器在某些情况下会执行 MIME 嗅探,并不一定会遵循此标头的值; 为了防止这种行为,X-Content-Type-Options可以将标题设置为nosniff

在请求(例如POSTPUT)中,客户端通知服务器实际发送了什么类型的数据。

Header type

Entity header

Forbidden header name

no

CORS-safelisted response-header

yes

语法

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

指令

media-type资源的 MIME 类型或 data.charset 字符编码标准。边界对于多部分实体,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.1Content-Length: 68137Content-Type: multipart/form-data; boundary=---------------------------974767299852498929531610575---------------------------974767299852498929531610575Content-Disposition: form-data; name="description" some text---------------------------974767299852498929531610575Content-Disposition: form-data; name="myFile"; filename="foo.txt" Content-Type: text/plain (content of the uploaded file 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

浏览器兼容性

Feature

Chrome

Edge

Firefox

Internet Explorer

Opera

Safari

Basic Support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

Feature

Android

Chrome for Android

Edge mobile

Firefox for Android

IE mobile

Opera Android

iOS Safari

Basic Support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)