IIS6的安全性提高了很多,为了防止扩展名欺骗带来的安全性问题,限制了扩展名MIME类型。

IIS6 只为对具有已知文件扩展名的文件的请求提供服务。如果请求内容的文件扩展名未映射到已知的扩展,则服务器拒绝请求。即IIS不支持未知文件扩展下载!

症状
当您从 IIS 6.0 Web 服务器中请求文件时,而该文件的扩展名不是 Web 服务器上已定义的 MIME 类型,您将看到以下错误消息:
HTTP 错误 404 - 找不到文件或目录。

原因
IIS 早期版本包含通配符 MIME 映射,允许 IIS 处理任何文件而无需考虑扩展名。IIS 6.0 不包含该通配符 MIME 映射,不能处理在 IIS 元数据库中的 MimeMap 节点以外定义的任何类型的扩展名。

解决方案
  Multipurpose Internet Mail Exchange (MIME) 类型说明了 Web 浏览器或邮件应用程序如何处理从服务器接收的文件。例如,当 Web 浏览器请求服务器上的某一项目时,也会请求此对象的 MIME 类型。某些 MIME 类型(例如图形)可以在浏览器内部显示。其他的 MIME 类型(例如文字处理文档)则需要使用外部帮助应用程序来显示。
  
  当 IIS 传递邮件消息给邮件应用程序或传递网页给客户端 Web 浏览器时,IIS 也发送了所传递数据的 MIME 类型。如果存在以特定格式传递的附加或嵌入文件,那么 IIS 就会通知客户端应用程序嵌入或附加文件的 MIME 类型。然后客户端应用程序就知道了如何处理或显示正从 IIS 接收的数据。
  
  IIS 只为具有已在 MIME 类型列表中注册的扩展名的文件提供服务,并且也允许配置其他的 MIME 类型和更改或删除 MIME 类型。
  
  IIS 预配置为识别全局 MIME 类型的默认设置。您在 IIS 中创建的所有网站可以识别这些 MIME 类型。MIME 类型还可以独立于其他的或全局定义的类型,在网站和目录级别上定义。当在网站或目录级别上查看 MIME 类型时,只显示唯一对应于此级别的类型,并非从上一级别继承的所有类型。如果在较低级别修改 MIME 类型后,又在全局级别上应用相同的 MIME 类型,那么全局级别的 MIME 类型将覆盖在较低级别修改过的MIME 类型。

  如果客户端请求引用了其扩展名未在 MIME 类型中定义的文件扩展名,那么 IIS 将返回一个 404.3 错误。通过添加通配符 (*) MIME 类型,也可以将 IIS 配置成向所有的文件提供服务,而忽略文件扩展名。

处理步骤

1. 打开 IIS Microsoft 管理控制台 (MMC),右键单击本地计算机名称,然后单击“属性”。
2. 单击“MIME 类型”。
3. 单击“新建”。
4. 在“扩展名”框中,键入星号 (*)。
5. 在“MIME 类型”框中,键入 application/octet-stream。
6. 应用新设置。请注意,您必须重新启动“万维网发布服务”或等待工作进程循环以使更改生效。

常见的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

让IIS6支持任意扩展名和未知扩展名的下载的更多相关文章

  1. 第十三节:HttpHander扩展及应用(自定义扩展名、图片防盗链)

    一. 自定义扩展名 1. 前言 凡是实现了IHttpHandler接口的类均为Handler类,HttpHandler是一个HTTP请求的真正处理中心,在HttpHandler容器中,ASP.NET ...

  2. 【OpenGL(SharpGL)】支持任意相机可平移缩放的轨迹球实现

    [OpenGL(SharpGL)]支持任意相机可平移缩放的轨迹球 (本文PDF版在这里.) 在3D程序中,轨迹球(ArcBall)可以让你只用鼠标来控制模型(旋转),便于观察.在这里(http://w ...

  3. Devrama Slider - 支持任意 HTML 的内容滑块

    Devrama Slider 是一个图片滑块,支持很多特色功能.除了支持图片滑动,其它的 HTML 内容也支持.主要特色:响应式.图片预加载.图片延迟加载.进度条.自定义导航栏和控制按钮等等. 在线演 ...

  4. 支持BLOB操作的Jena框架扩展——JenaBLOB

    与研究语义网的同行们分享一下上半年做的一个东西,它是支持BLOB操作的Jena框架扩展--JenaBLOB,已在GitHub上开源,欢迎提出宝贵意见! 众所周知,Jena是不支持BLOB类型的Lite ...

  5. 4位或者5位led数码显示,485通信modbus,支持任意小数点写入,工业标准设置,可和plc,dcs,组态完美对接,支持定制修改

    MRD-5030具有4位8段数码管,支持通过工业标注协议Modbus(Modbus-RTU)控制显示,支持任意小数点的显示.数据以半双工方式通信.电源端口和通信端口都具有防浪涌,防雷600W保护,能够 ...

  6. 如何在MQ中实现支持任意延迟的消息?

    什么是定时消息和延迟消息? 定时消息:Producer 将消息发送到 MQ 服务端,但并不期望这条消息立马投递,而是推迟到在当前时间点之后的某一个时间投递到 Consumer 进行消费,该消息即定时消 ...

  7. service(ServletRequest req, ServletResponse res) 通用servlet 可以接受任意类型的请求 用于扩展

    service(ServletRequest req, ServletResponse res)   通用servlet 可以接受任意类型的请求  用于扩展

  8. .netcore+vue+elementUI 前后端分离---支持前端、后台业务代码扩展的快速开发框架

    框架采用.NetCore + Vue前后端分离,并且支持前端.后台代码业务动态扩展,框架内置了一套有着20多种属性配置的代码生成器,可灵活配置生成的代码,代码生成器界面配置完成即可生成单表(主表)的增 ...

  9. PHP中操作任意精度大小的GMP扩展学习

    对于各类开发语言来说,整数都有一个最大的位数,如果超过位数就无法显示或者操作了.其实,这也是一种精度越界之后产生的精度丢失问题.在我们的 PHP 代码中,最大的整数非常大,我们可以通过 PHP_INT ...

随机推荐

  1. linux 下 sublime配置

    sublime3 import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_p ...

  2. python数据类型之字典(一)

    >>> dInfo = dict(Wangdachui=3000,Niuyun=2000,Linling=4500,Tianqi=8000) >>> dInfo { ...

  3. 会话管理之AbpSession

    一.AbpSession的认识 在ABP中提供了IAbpSession的接口用来获取用户和租户的信息,没有使用Asp.Net中的Session,那么AbpSession到底和Session有没有关系? ...

  4. Asp.NET调用有道翻译API

    调用有道API进行翻译,如图: HTML: <%@ Page Language="C#" AutoEventWireup="true" CodeFile= ...

  5. Oracle的字符连接函数 concat 和 || 的区别

      总结:concat 只能连接两个字符串,|| 可以连接多个

  6. VMWARE虚拟机不显示主机共享的文件夹解决办法

    执行如下命令重新配置,不用重启. #sudo vmware-config-tools.pl

  7. 项目启动报错java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind

    项目已启动的情况下,MyEclipse异常退出.再次打开后重启项目,项目报错:java.net.SocketException: Unrecognized Windows Sockets error: ...

  8. Older Versions Of Eclipse

    Older Versions Of Eclipse Need help with older versions of Eclipse? LTS Request The following are li ...

  9. 解决ubuntu系统“XXX is not in the sudoers file”错误

    用adduser新建的用户,当时只输入了一个用户名,没做其它操作,这样就建立了一个normal用户.在执行sudo vim hadoop-env.sh时,报“*** is not in the sud ...

  10. angularjs 在 iframe 里面无法正确显示 src 指定的内容

    原 controller : $scope.myURL = URL; 页面: <iframe ng-src='{{myURL}}' class="width-100 height-10 ...