MIME类型–一种标准
媒体类型(通常称为 Multipurpose Internet Mail Extensions多用途互联网邮件扩展类型 或 MIME 类型 )是一种标准,用来表示文档、文件或字节流的性质和格式。它在IETF RFC 6838中进行了定义和标准化。
互联网号码分配机构IANA (Internet Assigned Numbers Authority)是负责跟踪所有官方MIME类型的官方机构,可以在媒体类型页面中找到最新的完整列表。
格式为 type/subtype
总共有10大类type
用法-http请求头
http协议header中的Content-Type具体内容就是mime类型
常用的类型 | 典例 |
---|---|
text | text/plain, text/html, text/css, text/javascript |
image | image/gif, image/png, image/jpeg, image/bmp, image/webp, image/x-icon, image/vnd.microsoft.icon |
audio | audio/midi, audio/mpeg, audio/webm, audio/ogg, audio/wav |
video | video/webm, video/ogg |
application | application/octet-stream, application/pkcs12, application/vnd.mspowerpoint, application/xhtml+xml, application/xml, application/pdf |
mutipart | multipart/form-data,multipart/byteranges |
如
Content-Type: application/json
Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=something #boundary是multipart/form-data特有的参数,用来指定各部分间的分割字符
重要:浏览器通常使用MIME类型(而不是文件扩展名)来确定如何处理URL,因此Web服务器在响应头中添加正确的MIME类型非常重要。如果配置不正确,浏览器可能会曲解文件内容,网站将无法正常工作,并且下载的文件也会被错误处理。
multipart/form-data比较特殊,引申出Content-Disposition
Content-Disposition正常用法
在常规的 HTTP 应答中,Content-Disposition 响应头指示回复的内容该以何种形式展示,是以内联的形式(即网页或者页面的一部分),还是以附件的形式下载并保存到本地。
如Content-Disposition: inline Content-Disposition: attachment Content-Disposition: attachment; filename="filename.jpg"
而在 multipart/form-data 类型的应答消息体中的用法
Content-Disposition 消息头可以被用在 multipart 消息体的子部分中,用来给出其对应字段的相关信息。各个子部分由在Content-Type 中定义的分隔符分隔。用在消息体自身则无实际意义。
Content-Disposition 消息头最初是在 MIME 标准中定义的,HTTP 表单及 POST 请求只用到了其所有参数的一个子集。只有 form-data 以及可选的 name 和 filename 三个参数可以应用在HTTP场景中。
如下是一个demoPOST /test.html HTTP/1.1 Host: example.org Content-Type: multipart/form-data;boundary="----boundary" ----boundary Content-Disposition: form-data; name="field1" value1 ----boundary Content-Disposition: form-data; name="field2"; filename="example.txt" value2 ----boundary--
注意最后以固定两个-结尾