HTTP协议探索之Content-Type(MIME)

Content-Type是HTTP协议header中一个重要的参数,它用于标识发送或接收到的数据的类型,浏览器根据该参数来决定数据的打开方式。在最早的HTTP协议中,并没有附加的数据类型信息,所有传送的数据都被客户程序解释为超文本标记语言HTML 文档,而为了支持多媒体数据类型,HTTP协议中就使用了附加在文档之前的MIME数据类型信息来标识数据类型,它使得HTTP传输的不再是普通的文本,让网页内容变得丰富多彩。


Content-Type使用的是“主类型/子类型; 额外参数” [type]/[subtype]; parameter)的数值格式。

“主类型”(type)主要有以下几种:

1. text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的;默认是text/plain;

2. multipart:用于连接消息体的多个部分构成一个消息,这些部分可以是不同类型的数据;默认是multipart/mixed;

3. application:用于传输应用程序数据或者二进制数据;默认是application/octet-stream;

4. message:用于包装一个E-mail消息;

5. image:用于传输静态图片数据;

6. audio:用于传输音频或者音声数据;

7. video:用于传输动态影像数据,可以是与音频编辑在一起的视频数据格式。

8. drawing:--未整理

9. java:--未整理

10 Model:--未整理

“子类型” (subtype)用于指定"主类型"的详细形式。其中以x-开头表示该类别尚未标准化。当客户端不能确定“子类型”时,会根据“主类型”来获取默认的子类型。

"额外参数"(parameter)用于指定请求/响应内容的字符编码格式。例如text/html;charset=utf-8;


MIME类型标准是通过Internet的IANA组织来制定的,但由于Internet发展的太快,很多应用程序等不及IANA来确认他们使用的MIME类型为标准类型,因此他们使用在类别中以x-开头的方法标识这个类别还没有成为标准,例如:x-gzip,x-tar等。事实上这些类型运用的很广泛,已经成为了事实标准。只要客户机和服务器共同承认这个MIME类型,即使它是不标准的类型也没有关系,客户程序就能根据MIME类型,采用具体的处理手段来处理数据。而Web服务器和浏览器(包括操作系统)中,缺省都设置了标准的和常见的MIME类型,只有对于不常见的 MIME类型,才需要同时设置服务器和客户浏览器,以进行识别。


以下整理了最新的MIME类型,保存成properties资源文件:

.*=application/octet-stream 
.tif=application/x-tif 
.001=application/x-001 
.301=application/x-301 
.323=text/h323 
.906=application/x-906 
.907=drawing/907 
.a11=application/x-a11 
.acp=audio/x-mei-aac 
.ai=application/postscript 
.aif=audio/aiff 
.aifc=audio/aiff 
.aiff=audio/aiff 
.anv=application/x-anv 
.asa=text/asa 
.asf=video/x-ms-asf 
.asp=text/asp 
.asx=video/x-ms-asf 
.au=audio/basic 
.avi=video/avi 
.awf=application/vnd.adobe.workflow 
.biz=text/xml 
.bmp=application/x-bmp 
.bot=application/x-bot 
.c4t=application/x-c4t 
.c90=application/x-c90 
.cal=application/x-cals 
.cat=application/vnd.ms-pki.seccat 
.cdf=application/x-netcdf 
.cdr=application/x-cdr 
.cel=application/x-cel 
.cer=application/x-x509-ca-cert 
.cg4=application/x-g4 
.cgm=application/x-cgm 
.cit=application/x-cit 
.class=java/* 
.cml=text/xml 
.cmp=application/x-cmp 
.cmx=application/x-cmx 
.cot=application/x-cot 
.crl=application/pkix-crl 
.crt=application/x-x509-ca-cert 
.csi=application/x-csi 
.css=text/css 
.cut=application/x-cut 
.dbf=application/x-dbf 
.dbm=application/x-dbm 
.dbx=application/x-dbx 
.dcd=text/xml 
.dcx=application/x-dcx 
.der=application/x-x509-ca-cert 
.dgn=application/x-dgn 
.dib=application/x-dib 
.dll=application/x-msdownload 
.doc=application/msword 
.dot=application/msword 
.drw=application/x-drw 
.dtd=text/xml 
.dwf=application/x-dwf 
.dwg=application/x-dwg 
.dxb=application/x-dxb 
.dxf=application/x-dxf 
.edn=application/vnd.adobe.edn 
.emf=application/x-emf 
.eml=message/rfc822 
.ent=text/xml 
.epi=application/x-epi 
.eps=application/postscript 
.etd=application/x-ebx 
.exe=application/x-msdownload 
.fax=image/fax 
.fdf=application/vnd.fdf 
.fif=application/fractals 
.fo=text/xml 
.frm=application/x-frm 
.g4=application/x-g4 
.gbr=application/x-gbr 
.gif=image/gif 
.gl2=application/x-gl2 
.gp4=application/x-gp4 
.hgl=application/x-hgl 
.hmr=application/x-hmr 
.hpg=application/x-hpgl 
.hpl=application/x-hpl 
.hqx=application/mac-binhex40 
.hrf=application/x-hrf 
.hta=application/hta 
.htc=text/x-component 
.htm=text/html 
.html=text/html 
.htt=text/webviewhtml 
.htx=text/html 
.icb=application/x-icb 
.ico=application/x-ico 
.iff=application/x-iff 
.ig4=application/x-g4 
.igs=application/x-igs 
.iii=application/x-iphone 
.img=application/x-img 
.ins=application/x-internet-signup 
.isp=application/x-internet-signup 
.IVF=video/x-ivf 
.java java/* 
.jfif=image/jpeg 
.jpe=application/x-jpe 
.jpeg=image/jpeg 
.jpg=application/x-jpg 
.js=application/x-javascript 
.jsp=text/html 
.la1=audio/x-liquid-file 
.lar=application/x-laplayer-reg 
.latex=application/x-latex 
.lavs=audio/x-liquid-secure 
.lbm=application/x-lbm 
.lmsff=audio/x-la-lms 
.ls=application/x-javascript 
.ltr=application/x-ltr 
.m1v=video/x-mpeg 
.m2v=video/x-mpeg 
.m3u=audio/mpegurl 
.m4e=video/mpeg4 
.mac=application/x-mac 
.man=application/x-troff-man 
.math=text/xml 
.mdb=application/x-mdb 
.mfp=application/x-shockwave-flash 
.mht=message/rfc822 
.mhtml=message/rfc822 
.mi=application/x-mi 
.mid=audio/mid 
.midi=audio/mid 
.mil=application/x-mil 
.mml=text/xml 
.mnd=audio/x-musicnet-download 
.mns=audio/x-musicnet-stream 
.mocha=application/x-javascript 
.movie=video/x-sgi-movie 
.mp1=audio/mp1 
.mp2=audio/mp2 
.mp2v=video/mpeg 
.mp3=audio/mp3 
.mp4=video/mpeg4 
.mpa=video/x-mpg 
.mpd=application/vnd.ms-project 
.mpe=video/x-mpeg 
.mpeg=video/mpg 
.mpg=video/mpg 
.mpga=audio/rn-mpeg 
.mpp=application/vnd.ms-project 
.mps=video/x-mpeg 
.mpt=application/vnd.ms-project 
.mpv=video/mpg 
.mpv2=video/mpeg 
.mpw=application/vnd.ms-project 
.mpx=application/vnd.ms-project 
.mtx=text/xml 
.mxp=application/x-mmxp 
.net=image/pnetvue 
.nrf=application/x-nrf 
.nws=message/rfc822 
.odc=text/x-ms-odc 
.out=application/x-out 
.p10=application/pkcs10 
.p12=application/x-pkcs12 
.p7b=application/x-pkcs7-certificates 
.p7c=application/pkcs7-mime 
.p7m=application/pkcs7-mime 
.p7r=application/x-pkcs7-certreqresp 
.p7s=application/pkcs7-signature 
.pc5=application/x-pc5 
.pci=application/x-pci 
.pcl=application/x-pcl 
.pcx=application/x-pcx 
.pdf=application/pdf 
.pdx=application/vnd.adobe.pdx 
.pfx=application/x-pkcs12 
.pgl=application/x-pgl 
.pic=application/x-pic 
.pko=application/vnd.ms-pki.pko 
.pl=application/x-perl 
.plg=text/html 
.pls=audio/scpls 
.plt=application/x-plt 
.png=application/x-png 
.pot=application/vnd.ms-powerpoint 
.ppa=application/vnd.ms-powerpoint 
.ppm=application/x-ppm 
.pps=application/vnd.ms-powerpoint 
.ppt=application/x-ppt 
.pr=application/x-pr 
.prf=application/pics-rules 
.prn=application/x-prn 
.prt=application/x-prt 
.ps=application/postscript 
.ptn=application/x-ptn 
.pwz=application/vnd.ms-powerpoint 
.r3t=text/vnd.rn-realtext3d 
.ra=audio/vnd.rn-realaudio 
.ram=audio/x-pn-realaudio 
.ras=application/x-ras 
.rat=application/rat-file 
.rdf=text/xml 
.rec=application/vnd.rn-recording 
.red=application/x-red 
.rgb=application/x-rgb 
.rjs=application/vnd.rn-realsystem-rjs 
.rjt=application/vnd.rn-realsystem-rjt 
.rlc=application/x-rlc 
.rle=application/x-rle 
.rm=application/vnd.rn-realmedia 
.rmf=application/vnd.adobe.rmf 
.rmi=audio/mid 
.rmj=application/vnd.rn-realsystem-rmj 
.rmm=audio/x-pn-realaudio 
.rmp=application/vnd.rn-rn_music_package 
.rms=application/vnd.rn-realmedia-secure 
.rmvb=application/vnd.rn-realmedia-vbr 
.rmx=application/vnd.rn-realsystem-rmx 
.rnx=application/vnd.rn-realplayer 
.rp=image/vnd.rn-realpix 
.rpm=audio/x-pn-realaudio-plugin 
.rsml=application/vnd.rn-rsml 
.rt=text/vnd.rn-realtext 
.rtf=application/x-rtf 
.rv=video/vnd.rn-realvideo 
.sam=application/x-sam 
.sat=application/x-sat 
.sdp=application/sdp 
.sdw=application/x-sdw 
.sit=application/x-stuffit 
.slb=application/x-slb 
.sld=application/x-sld 
.slk=drawing/x-slk 
.smi=application/smil 
.smil=application/smil 
.smk=application/x-smk 
.snd=audio/basic 
.sol=text/plain 
.sor=text/plain 
.spc=application/x-pkcs7-certificates 
.spl=application/futuresplash 
.spp=text/xml 
.ssm=application/streamingmedia 
.sst=application/vnd.ms-pki.certstore 
.stl=application/vnd.ms-pki.stl 
.stm=text/html 
.sty=application/x-sty 
.svg=text/xml 
.swf=application/x-shockwave-flash 
.tdf=application/x-tdf 
.tg4=application/x-tg4 
.tga=application/x-tga 
.tiff=image/tiff 
.tld=text/xml 
.top=drawing/x-top 
.torrent=application/x-bittorrent 
.tsd=text/xml 
.txt=text/plain 
.uin=application/x-icq 
.uls=text/iuls 
.vcf=text/x-vcard 
.vda=application/x-vda 
.vdx=application/vnd.visio 
.vml=text/xml 
.vpg=application/x-vpeg005 
.vsd=application/x-vsd 
.vss=application/vnd.visio 
.vst=application/x-vst 
.vsw=application/vnd.visio 
.vsx=application/vnd.visio 
.vtx=application/vnd.visio 
.vxml=text/xml 
.wav=audio/wav 
.wax=audio/x-ms-wax 
.wb1=application/x-wb1 
.wb2=application/x-wb2 
.wb3=application/x-wb3 
.wbmp=image/vnd.wap.wbmp 
.wiz=application/msword 
.wk3=application/x-wk3 
.wk4=application/x-wk4 
.wkq=application/x-wkq 
.wks=application/x-wks 
.wm=video/x-ms-wm 
.wma=audio/x-ms-wma 
.wmd=application/x-ms-wmd 
.wmf=application/x-wmf 
.wml=text/vnd.wap.wml 
.wmv=video/x-ms-wmv 
.wmx=video/x-ms-wmx 
.wmz=application/x-ms-wmz 
.wp6=application/x-wp6 
.wpd=application/x-wpd 
.wpg=application/x-wpg 
.wpl=application/vnd.ms-wpl 
.wq1=application/x-wq1 
.wr1=application/x-wr1 
.wri=application/x-wri 
.wrk=application/x-wrk 
.ws=application/x-ws 
.ws2=application/x-ws 
.wsc=text/scriptlet 
.wsdl=text/xml 
.wvx=video/x-ms-wvx 
.xdp=application/vnd.adobe.xdp 
.xdr=text/xml 
.xfd=application/vnd.adobe.xfd 
.xfdf=application/vnd.adobe.xfdf 
.xhtml=text/html 
.xls=application/x-xls 
.xlw=application/x-xlw 
.xml=text/xml 
.xpl=audio/scpls 
.xq=text/xml 
.xql=text/xml 
.xquery=text/xml 
.xsd=text/xml 
.xsl=text/xml 
.xslt=text/xml 
.xwd=application/x-xwd 
.x_b=application/x-x_b 
.sis=application/vnd.symbian.install 
.sisx=application/vnd.symbian.install 
.x_t=application/x-x_t 
.ipa=application/vnd.iphone 
.apk=application/vnd.android.package-archive 
.xap=application/x-silverlight-app 


HTTP协议探索之Content-Type(MIME)

上一篇:makefile的使用总结


下一篇:Sicily 2711. 模板与STL 解题报告