MIME(多用途互联网邮件扩展类型)

MIME对照表

百度百科

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。(百度百科)。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

它是一个互联网标准,扩展了电子邮件标准,使其能够支持:
非ASCII字符文本;非文本格式附件(二进制、声音、图像等);由多部分(multiple parts)组成的消息体;包含非ASCII字符的头信息(Header information)。
这个标准被定义在RFC 2045、RFC 2046、RFC 2047、RFC 2048、RFC 2049等RFC中。 MIME改善了由RFC 822转变而来的RFC 2822,这些旧标准规定电子邮件标准并不允许在邮件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英语字符消息和二进制文件,图像,声音等非文字消息原本都不能在电子邮件中传输(MIME可以)。MIME规定了用于表示各种各样的数据类型的符号化方法。 此外,在万维网中使用的HTTP协议中也使用了MIME的框架,标准被扩展为互联网媒体类型
 
多用途互联网邮件扩展,是一个互联网标准,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。服务器会将它们发送的多媒体数据的类型告诉浏览器,而通知手段就是说明该多媒体数据的MIME类型,从而让浏览器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等。服务器将MIME标志符放入传送的数据中来告诉浏览器使用哪种插件读取相关文件。
MIME能够支持非ASCII字符、二进制格式附件等多种格式的邮件消息。这个标准被定义在RFC 2045,RFC 2046,RFC 2047,RFC 2048,RFC 2049等RFC中。 由RFC 822转变而来的RFC 2822,规定电子邮件标准并不允许在邮件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英语字符消息和二进制文件,图像,声音等非文字消息都不能在电子邮件中传输。MIME规定了用于表示各种各样的数据类型的符号化方法。
 
浏览器接收到文件后,会进入插件系统进行查找,查找出哪种插件可以识别读取接收到的文件。如果浏览器不清楚调用哪种插件系统,它可能会告诉用户缺少某插件,或者直接选择某现有插件来试图读取接收到的文件,或者可能会导致系统的崩溃。传输的信息中缺少MIME标识可能导致的情况很难估计,因为某些计算机系统可能不会出现什么故障,但某些计算机可能就会因此而崩溃。

由于MIME类型与文档的后缀相关,因此服务器使用文档的后缀来区分不同文件的MIME类型,服务器中必须定义文档后缀和MIME类型之间的对应关系。而客户程序从服务器上接收数据的时候,它只是从服务器接受数据流,并不了解文档的名字,因此服务器必须使用附加信息来告诉客户程序数据的MIME类型。服务器在发送真正的数据之前,就要先发送标志数据的MIME类型的信息,这个信息使用Content-type关键字进行定义,例如对于HTML文档,服务器将首先发送以下两行MIME标识信息,这个标识并不是真正的数据文件的一部分。

                                 

 Content-type: text/html


注意,第二行为一个空行,这是必须的,使用这个空行的目的是将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类型:

.*=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
原文地址:https://www.cnblogs.com/benymor/p/6078820.html