Content-Type

这篇翻译不完整。请帮忙从英语翻译这篇文章

Content-Type 实体头部用于指示资源的MIME类型. media type 

在响应头中,Content-Type头部告诉客户端返回的内容的类型实际上是什么。浏览器将在某些情况下进行MIME嗅探,并且不一定遵循此头部的值; 可以将X-Content-Type-Options 设置成 nosniff 以防止这种行为

在请求头中, (比如 POST 或者 PUT) Content-Type表示客户端告诉服务端实际发送的数据类型。

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 type 。
charset
字符编码标准。
boundary
对于多部分实体,boundary 是必需的,其包括来自一组字符的1到70个字符,已知通过电子邮件网关是非常健壮的,而不是以空白结尾。它用于封装消息的多个部分的边界。

例子

Content-Type 在HTML表单中

在通过HTML form提交生成的POST请求中,请求头的Content-Type由<form>元素上的enctype属性指定

<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>

请求头看起来像这样(在这里省略了一些 headers):

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

some text

---------------------------974767299852498929531610575
Content-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 Servo
Content-Type(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
Feature Android Chrome for Android Edge Mobile Firefox for Android IE Mobile Opera Mobile Safari Mobile
Content-Type(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)

也可以看看

文档标签和贡献者

 此页面的贡献者: wanhh, xgqfrms-GitHub
 最后编辑者: wanhh,