前言:项目在本地运行正常,但部署在IIS服务器后使用浏览器访问项目会报:404 not found 错误,包括mp4视频文件和woff文件找不到。。如下
原因:在IIS中没有将 .mp4和 .woff 后缀的相应的MIME类型,使得 .mp4等格式文件在IIS服务器上无法识别。
什么是MIME?
MIME(Multipurpose Internet Mail Extensions)多功能互联网 邮件扩充服务,它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统(扩展了电子邮件标准,使在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理,它要求邮件的发送端和接收端必须有解读MIME 协议的电子邮件程序。),后来也应用到浏览器。
简单理解为: MIME类型就是设定某种扩展名的文件用何种应用程序来打开,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以 及一些媒体文件打开方式。实际应用时,服务器将发送的多媒体数据的类型告诉浏览器,而通知手段就是说明该多媒体数据的MIME类型,从而让浏览器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等。服务器将MIME标志符放入传送的数据中来告诉浏览器使用哪种插件读取相关文件。如果浏览器不清楚调用哪种插件系统读取,它可能会告诉用户缺少某插件,或者直接选择某现有插件来试图读取接收到的文件,后者可能会导致系统的崩溃。
在HTTP中,MIME类型被定义在Content-Type header中。
如果服务器没有正确标明其发送的数据的类型,服务器管理员应该正确添加相关信息。
Microsoft公司应用于Windows系统下的浏览器使用ActiveX控件,而不是Netscape插件,这种浏览器不必象其它浏览器那样依靠MIME的编码。"OBJECT"标签的"CLSID"属性准确地标明了应调用哪种程序来读取接收到的文件,因此浏览器不必象"EMBED"标签那样选择一种读取程序。正因为如此,你往往会在使用带插件的浏览器时遇到MIME问题,而使用ActiveX控件的浏览器则很少出现此类麻烦。
MIME 组成?
每个MIME类型由两部分组成,前面是数据的大类别,例如声音audio、图象image等,后面定义具体的种类。
一个MIME类型包括一个类型(type),一个子类型(subtype)。此外可以加上一个或多个可选参数(optional parameter)。其格式为
类型名 / 子类型名 [ ; 可选参数 ]
常见的MIME类型(通用型):
超文本标记语言文本 .html text/html
xml文档 .xml text/xml
XHTML文档 .xhtml application/xhtml+xml
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
PDF文档 .pdf application/pdf
Microsoft Word文件 .word application/msword
PNG图像 .png image/png
GIF图形 .gif image/gif
JPEG图形 .jpeg,.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
任意的二进制数据 application/octet-stream
如何在IIS服务器上添加MIME类型?
具体步骤是:
“开始” > “控制面板” > “管理工具” >“Internet 信息服务(IIS管理器)”,找到您的网站,点击网站 > 右侧找到 MIME类型> 双击“MIME类型” > 进入类型页面,点击右侧 “添加” > 如在“扩展名”框内输入“.mp4”,“MIME类型”框中输入“video/mp4”,然后确定即可。