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-Typeheader中。例如,假设你要传送一个MicrosoftExcel文件到客户端。那么这时的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,.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标识信息,这个标识并不是真正的数据文件的一部分。
Content-type: text/html
注意,第二行为一个空行,这是必须的,使用这个空行的目的是将MIME信息与真正的数据内容分隔开。
分享到:
相关推荐
MIME类型总结[JPEG],是图片资源。里面有所有已知类型
### MIME类型的自定义 MIME(Multipurpose Internet Mail Extensions)类型是互联网标准协议之一,用于定义数据在网络上传输时的数据格式。MIME类型通常由两部分组成:类型和子类型,中间用斜线分隔。例如,“text/...
### IIS设置MIME类型详解 #### 一、引言 在互联网技术中,MIME类型(Multipurpose Internet Mail Extensions)是一种标准,用于定义数据格式的类型,它主要用于描述网络文件的性质和格式。在IIS(Internet ...
**IIS MIME 类型配置详解** ...总结,IIS MIME类型配置是确保网站能够正确服务各种文件的关键环节。管理员应熟知MIME类型的作用,熟练掌握配置方法,并时刻关注安全问题,以提供更高效、安全的服务。
1. **.xaml** - MIME类型为 `application/xaml+xml`:XAML(Extensible Application Markup Language)是一种XML标记语言,用于定义用户界面和数据结构。Silverlight使用XAML来描述用户界面布局和其他资源。 2. **....
总结起来,这篇文档介绍了如何使用PHP进行基本的文件上传操作,以及如何通过检查MIME类型来过滤非法文件。这对于PHP初学者理解文件上传的基本流程是非常有帮助的,但实际开发中还需要考虑更多的安全性措施,如限制...
### IIS MIME类型及其对应文件扩展名详解 #### 一、引言 MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)是一种标准协议,用于定义如何在互联网上传输不同类型的文件。随着网络技术的发展,...
根据提供的文件信息,我们可以深入探讨MIME类型(Multipurpose Internet Mail Extensions)的相关知识点。MIME类型主要用于描述网络文件的格式,通常在网络传输中用于告诉接收方如何解释数据。以下是对标题、描述及...
总结来说,PHP提供了多种方式来获取文件的MIME类型,可以根据项目需求选择合适的方法。如果需要更灵活或高效的解决方案,可以考虑使用自定义类。这个“php获得文件的mime type类”很可能是对这些功能的封装,提供了...
总结来说,IE9浏览器对Mime类型的严格要求,导致了开发者需要在web.xml文件中添加特定的Mime映射配置。这一改动保证了IE9能够像其他浏览器一样正确解析和应用CSS文件,使得Web页面的样式能够得到正确的展示。然而,...
在总结各种方法后,还列举了PHP中常用的MIME类型列表。这个列表包含了不同文件扩展名与MIME类型之间的映射关系,例如: - `.txt` 文件通常映射为 `text/plain`; - `.jpg` 和 `.jpeg` 文件映射为 `image/jpeg`; - ...
总结以上内容,本文详细讲解了在PHP中如何获取文件的MIME类型,并介绍了三种主要方法:使用mime_content_type()函数、使用fileinfo方法以及使用image_type_to_mime_type()函数结合exif_imagetype()函数。每种方法的...
总结来说,`lws-mime`是LWS轻量级Web服务器的一个强大工具,它增强了服务器处理MIME类型的能力,使得开发者可以更加高效地管理内容的格式和类型,从而提升用户体验。通过深入研究和使用`lws-mime`,前端开发者能够更...
在Web环境中,每种文件都有一个特定的MIME类型,例如,Excel文件的MIME类型是`application/vnd.ms-excel`。当服务器向浏览器发送文件时,会附带这个MIME类型,告诉浏览器应该如何处理这个文件。 在描述中提到的代码...
总结来说,MIME协议通过增强电子邮件的格式和编码能力,极大地扩展了邮件的使用范围,使得邮件不仅可以传输文本,还能包含丰富的多媒体信息,提升了电子邮件的实用性和互动性。在理解了MIME的工作原理和结构后,我们...
其中,`mime-mapping`元素用于将文件扩展名映射到MIME类型(Multipurpose Internet Mail Extensions Type),这对于处理HTTP请求中的文件类型至关重要。 #### MIME-Type简介 MIME-Type是一种标准,用于标识文件或...
例如,对于一个图片文件,我们可以使用`addBinaryBody`方法,传入文件名、文件字节数组和MIME类型(如"image/jpeg")。最后,`build`方法会生成一个`MultipartEntity`对象,这个对象可以作为HTTP POST请求的一部分...
httpmime-4.25.jar是Apache HttpClient库的一部分,它专注于HTTP消息内容的编码和解码,提供了对MIME(Multipurpose Internet Mail Extensions)类型的全面支持。MIME是一种标准,用于定义非文本格式的数据如何在...