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