IIS中的MIME类型

MIME(Multipurpose Internet Mail Extensions,多目的Internet邮件扩展)是创建用于电子邮件交换,网络文档,及企业网和Internet上的其他应用程序中的文件格式的规范。 每个MIME格式包含一个MIME内容类型和指示存储在这个文件中的数据的子类型。每个MIME类型由两部分组成,前面是数据的大类别,例如声音audio、图象image等,后面定义具体的种类。MIME类型和子类型一般以类型/子类型的形式列出,比如网页的类型“text/html”。 在HTTP中,MIME类型被定义在Content-Type header中。 例如,架设你要传送一个Microsoft Excel文件到客户端。那么这时的MIME类型就是“application/vnd.ms-excel”。在大多数实际情况中,这个文件然后将传送给Execl来处理(假设我们设定Execl为处理特殊MIME类型的应用程序)。 在ASP中,设定MIME类型的方法是通过Response对象的ContentType属性。 最早的HTTP协议中,并没有附加的数据类型信息,所有传送的数据都被客户程序解释为超文本标记语言HTML 文档,而为了支持多媒体数据类型,HTTP协议中就使用了附加在文档之前的MIME数据类型信息来标识数据类型。 MIME意为多目Internet邮件扩展,它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。然而当它被HTTP协议支持之后,它的意义就更为显著了。它使得HTTP传输的不仅是普通的文本,而变得丰富多彩。 常见的MIME类型 超文本标记语言文本 .html,.html text/html 普通文本 .txt text/plain RTF文本 .rtf application/rtf GIF图形 .gif image/gif JPEG图形 .ipeg,.jpg image/jpeg au声音文件 .au audio/basic MIDI音乐文件 mid,.midi audio/midi,audio/x-midi RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio MPEG文件 .mpg,.mpeg video/mpeg AVI文件 .avi video/x-msvideo GZIP文件 .gz application/x-gzip TAR文件 .tar application/x-tar Internet中有一个专门组织IANA来确认标准的MIME类型,但Internet发展的太快,很多应用程序等不及IANA来确认他们使用的MIME类型为标准类型。因此他们使用在类别中以x-开头的方法标识这个类别还没有成为标准,例如:x-gzip,x-tar等。事实上这些类型运用的很广泛,已经成为了事实标准。 只要客户机和服务器共同承认这个MIME类型,即使它是不标准的类型也没有关系,客户程序就能根据MIME类型,采用具体的处理手段来处理数据。而Web服务器和浏览器(包括操作系统)中,缺省都设置了标准的和常见的MIME类型,只有对于不常见的 MIME类型,才需要同时设置服务器和客户浏览器,以进行识别。 由于MIME类型与文档的后缀相关,因此服务器使用文档的后缀来区分不同文件的MIME类型,服务器中必须定义文档后缀和MIME类型之间的对应关系。而客户程序从服务器上接收数据的时候,它只是从服务器接受数据流,并不了解文档的名字,因此服务器必须使用附加信息来告诉客户程序数据的MIME类型。服务器在发送真正的数据之前,就要先发送标志数据的MIME类型的信息,这个信息使用Content-type关键字进行定义,例如对于HTML文档,服务器将首先发送以下两行MIME标识信息,这个标识并不是真正的数据文件的一部分。 IIS中的MIME格式,按类型/子类型排序下面的表格列出了按MIME内容类型/子类型排序的MIME内容类型: application/envoyevy application/fractalsfif application/futuresplashspl application/htahta application/internet-property-streamacx application/mac-binhex40hqx application/msworddoc application/msworddot application/octet-stream* application/octet-streambin application/octet-streamclass application/octet-streamdms application/octet-streamexe application/octet-streamlha application/octet-streamlzh application/odaoda application/olescriptaxs application/pdfpdf application/pics-rulesprf application/pkcs10p10 application/pkix-crlcrl application/postscriptai application/postscripteps application/postscriptps application/rtfrtf application/set-payment-initiationsetpay application/set-registration-initiationsetreg application/vnd.ms-excelxla application/vnd.ms-excelxlc application/vnd.ms-excelxlm application/vnd.ms-excelxls application/vnd.ms-excelxlt application/vnd.ms-excelxlw application/vnd.ms-pkicertstoresst application/vnd.ms-pkiseccatcat application/vnd.ms-pkistlstl application/vnd.ms-powerpointpot, application/vnd.ms-powerpointpps application/vnd.ms-powerpointppt application/vnd.ms-projectmpp application/vnd.ms-workswcm application/vnd.ms-workswdb application/vnd.ms-workswks application/vnd.ms-workswps application/winhlphlp application/x-bcpiobcpio application/x-cdfcdf application/x-compressz application/x-compressedtgz application/x-cpiocpio application/x-cshcsh application/x-directordcr application/x-directordir application/x-directordxr application/x-dvidvi application/x-gtargtar application/x-gzipgz application/x-hdfhdf application/x-internet-signupins application/x-internet-signupisp application/x-iphoneiii application/x-javascriptjs application/x-latexlatex application/x-msaccessmdb application/x-mscardfilecrd application/x-msclipclp application/x-msdownloaddll application/x-msmediaviewm13 application/x-msmediaviewm14 application/x-msmediaviewmvb application/x-msmetafilewmf application/x-msmoneymny application/x-mspublisherpub application/x-msschedulescd application/x-msterminaltrm application/x-mswritewri application/x-netcdfcdf application/x-netcdfnc application/x-perfmonpma application/x-perfmonpmc application/x-perfmonpml application/x-perfmonpmr application/x-perfmonpmw application/x-pkcs12p12 application/x-pkcs12pfx application/x-pkcs7-certificatesp7b application/x-pkcs7-certificatesspc application/x-pkcs7-certreqrespp7r application/x-pkcs7-mimep7c application/x-pkcs7-mimep7m application/x-pkcs7-signaturep7s application/x-shsh application/x-sharshar application/x-stuffitsit application/x-sv4cpiosv4cpio application/x-sv4crcsv4crc application/x-tartar application/x-tcltcl application/x-textex application/x-texinfotexi application/x-texinfotexinfo application/x-troffroff application/x-trofft application/x-trofftr application/x-troff-manman application/x-troff-meme application/x-troff-msms application/x-ustarustar application/x-wais-sourcesrc application/x-x509-ca-certcer application/x-x509-ca-certcrt application/x-x509-ca-certder application/ynd.ms-pkipkopko application/zipzip audio/basicau audio/basicsnd audio/midmid audio/midrmi audio/mpegmp3 audio/x-aiffaif audio/x-aiffaifc audio/x-aiffaiff audio/x-mpegurlm3u audio/x-pn-realaudiora audio/x-pn-realaudioram audio/x-wavwav image/bmpbmp image/cis-codcod image/gifgif image/iefief image/jpegjpe image/jpegjpeg image/jpegjpg image/pipegjfif image/tifftif image/tifftiff image/x-cmu-rasterras image/x-cmxcmx image/x-iconico image/x-portable-anymappnm image/x-portable-bitmappbm image/x-portable-graymappgm image/x-portable-pixmapppm image/x-rgbrgb image/x-xbitmapxbm image/x-xpixmapxpm image/x-xwindowdumpxwd message/rfc822mht message/rfc822mhtml message/rfc822nws text/csscss text/h323323 text/htmlhtm text/htmlhtml text/htmlstm text/iulsuls text/plainbas text/plainc text/plainh text/plaintxt text/richtextrtx text/scriptletsct text/tab-separated-valuestsv text/webviewhtmlhtt text/x-componenthtc text/x-setextetx text/x-vcardvcf video/mpegmp2 video/mpegmpa video/mpegmpe video/mpegmpeg video/mpegmpg video/mpegmpv2 video/quicktimemov video/quicktimeqt video/x-la-asflsf video/x-la-asflsx video/x-ms-asfasf video/x-ms-asfasr video/x-ms-asfasx video/x-msvideoavi video/x-sgi-moviemovie x-world/x-vrmlflr x-world/x-vrmlvrml x-world/x-vrmlwrl x-world/x-vrmlwrz x-world/x-vrmlxaf x-world/x-vrmlxof

 

==================

 

MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

MIME的英文全称是"Multipurpose Internet Email Extension",它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。服务器会将它们发送的多媒体数据的类型告诉浏览器,而通知手段就是说明该多媒体数据的MIME类型,从而让浏览器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等。服务器将MIME标志符放入传送的数据中来告诉浏览器使用哪种插件读取相关文件。

浏览器接收到文件后,会进入插件系统进行查找,查找出哪种插件可以识别读取接收到的文件。如果浏览器不清楚调用哪种插件系统,它可能会告诉用户缺少某插件,或者直接选择某现有插件来试图读取接收到的文件,后者可能会导致系统的崩溃。传输的信息中缺少MIME标识可能导致的情况很难估计,因为某些计算机系统可能不会出现什么故障,但某些计算机可能就会因此而崩溃。

检查一个服务器是否正确设置了MIME类型的步骤是:

1. 在Netscape浏览器中打开服务器网页

2. 进入"View"菜单,选择"Page Info"

3. 在弹出的窗口中点击上层框架中的"EMBED"

4. 在下层框架中查看MIME的类型是否为"application/x-director"或"application/x-shockwave- flash",如果是上述信息的话表明服务器已经正确设置了MIME类型;而如果MIME类型列出的是文本内容、八位一组的数据或是其它形式均表明服务器的MIME类型没有设置正确。

如果服务器没有正确标明其发送的数据的类型,服务器管理员应该正确添加相关信息,具体操作方法非常简单快捷。

Microsoft公司应用于Windows系统下的浏览器使用ActiveX控件,而不是Netscape插件,这种浏览器不必象其它浏览器那样依靠MIME的编码。"OBJECT"标签的"CLSID"属性准确地标明了应调用哪种程序来读取接收到的文件,因此浏览器不必象"EMBED"标签那样选择一种读取程序。正因为如此,你往往会在使用带插件的浏览器时遇到MIME问题,而使用ActiveX控件的浏览器则很少出现此类麻烦。

正由于上述工作方式的差别也解释了一种现象,不知你是否发现在使用Netscape浏览器播放WAV文件时,浏览器会调用LiveConnect插件进行播放,而其它浏览器一般都使用通用的QuickTime的播放插件等来进行播放,这是因为Netscape浏览器接收文件需要读取MIME标识符,以便决定调用哪种程序来读取接收的文件,而服务器设置在Netscape浏览器中播放WAV文件应使用 LiveConnect插件,因此Netscape浏览器接收到WAV格式的文件时必然就会调用LiveConnect插件,但由于其它浏览器不使用这种方式,因此它们都使用系统默认的播放WAV格式文件的播放器。当然Flash电影文件并不存在这种问题,因为只有Flash播放器才能够正确读取这种格式的文件。

    在把输出结果传送到浏览器上的时候,浏览器必须启动适当的应用程序来处理这个输出文档。这可以通过多种类型MIME(多功能网际邮件扩充协议)来完成。在HTTP中,MIME类型被定义在Content-Type header中。

 例如,假设你要传送一个Microsoft Excel文件到客户端。那么这时的MIME类型就是“application/vnd.ms-excel”。在大多数实际情况中,这个文件然后将传送给 Execl来处理(假设我们设定Execl为处理特殊MIME类型的应用程序)。在ASP中,设定MIME类型的方法是通过Response对象的 ContentType属性。

 多媒体文件格式MIME

  最早的HTTP协议中,并没有附加的数据类型信息,所有传送的数据都被客户程序解释为超文本标记语言HTML 文档,而为了支持多媒体数据类型,HTTP协议中就使用了附加在文档之前的MIME数据类型信息来标识数据类型。

  MIME意为多目Internet邮件扩展,它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。然而当它被HTTP协议支持之后,它的意义就更为显著了。它使得HTTP传输的不仅是普通的文本,而变得丰富多彩。

  每个MIME类型由两部分组成,前面是数据的大类别,例如声音audio、图象image等,后面定义具体的种类。

常见的MIME类型

超文本标记语言文本.html,.htmltext/html
普通文本.txttext/plain
RTF文本.rtfapplication/rtf
GIF图形.gifimage/gif
JPEG图形.ipeg,.jpgimage/jpeg
au声音文件.auaudio/basic
MIDI音乐文件mid,.midiaudio/midi,audio/x-midi
RealAudio音乐文件.ra, .ramaudio/x-pn-realaudio
MPEG文件.mpg,.mpegvideo/mpeg
AVI文件.avivideo/x-msvideo
GZIP文件.gzapplication/x-gzip
TAR文件.tarapplication/x-tar

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

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

  Content-type: text/html

  注意,第二行为一个空行,这是必须的,使用这个空行的目的是将MIME信息与真正的数据内容分隔开

 

====================

IANA已注册的MIME媒体类型列表

http://zh.wikipedia.org/wiki/MIME

http://www.iana.org/assignments/media-types/

http://www.iana.org

 

http://www.cnnic.cn/

http://www.icann.org/

 

http://www.w3.org/

http://www.ecmascript.org/about.php

http://weblogs.asp.net/scottgu/default.aspx

http://www.acidtests.org/

http://www.iso.org

http://www.iec.ch/

http://www.standardsinfo.net/info/livelink/fetch/2000/148478/6301438/index.html

http://www.ecma-international.org/memento/TC39.htm

 

http://www.asp.net/

http://msdn.microsoft.com/zh-cn/default.aspx

http://www.infoq.com/

http://www.cnet.com/

 

http://webkit.org/

http://zh.wikipedia.org/wiki/WebKit

 

http://ftp.mozilla.org/pub/mozilla.org/firefox/

 

http://www.mozilla.org/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值