目录
MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展类型),原先只用于邮件方面,现已扩展为各种各样的媒体类型。
MIME的组成结构非常简单,由类型与子类型两个字符串中间用'/'
分隔而组成。不允许空格存在。
MIME类型对大小写不敏感,但是传统写法都是小写。
type/subtype
可以添加一个可选参数以提供其他详细信息:
type/subtype;parameter=value
独立(Discrete)类型
text
表明文件是普通文本,理论上是人类可读
text/plain, text/html, text/css, text/javascript
font
表明是某种字体/字样
font/woff, font/ttf, font/otf
image
表明是某种图像。不包括视频,但是动态图(比如动态gif)也使用image类型
image/gif, image/png, image/jpeg, image/bmp, image/webp, image/x-icon, image/vnd.microsoft.icon
model
表明是某种 3D 对象或场景的模型
model/3mf, model/vrml
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
多部分(Multipart)类型
多部分类型表示分成几部分的文档类别,通常具有不同的 MIME 类型;它们还可以用于——尤其是在电子邮件场景中——来表示多个单独的文件,这些文件都是同一事务的一部分。它们代表一个复合文档。
multipart/form-data
multipart/form-data
可用于HTML表单从浏览器发送信息给服务器。作为多部分文档格式,它由边界线(一个由'--'
开始的字符串)划分出的不同部分组成。
如下所示的表单:
<form action="http://localhost:8000/" method="post" enctype="multipart/form-data">
<input type="text" name="myTextField">
<input type="checkbox" name="myCheckBox">Check</input>
<input type="file" name="myFile">
<button>Send the file</button>
</form>
会发送这样的请求:
POST / HTTP/1.1
Host: localhost:8000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Content-Type: multipart/form-data; boundary=---------------------------8721656041911415653955004498
Content-Length: 465
-----------------------------8721656041911415653955004498
Content-Disposition: form-data; name="myTextField"
Test
-----------------------------8721656041911415653955004498
Content-Disposition: form-data; name="myCheckBox"
on
-----------------------------8721656041911415653955004498
Content-Disposition: form-data; name="myFile"; filename="test.txt"
Content-Type: text/plain
Simple file.
-----------------------------8721656041911415653955004498--
multipart/byteranges
multipart/byteranges
用于把部分的响应报文发送回浏览器。当发送状态码206
Partial Content
时,这个MIME类型用于指出这个文件由若干部分组成,每一个都有其请求范围。
HTTP/1.1 206 Partial Content
Accept-Ranges: bytes
Content-Type: multipart/byteranges; boundary=3d6b6a416f9b5
Content-Length: 385
--3d6b6a416f9b5
Content-Type: text/html
Content-Range: bytes 100-200/1270
eta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="vieport" content
--3d6b6a416f9b5
Content-Type: text/html
Content-Range: bytes 300-400/1270
-color: #f0f0f2;
margin: 0;
padding: 0;
font-family: "Open Sans", "Helvetica
--3d6b6a416f9b5--
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/basic/http/11228.html