您现在的位置是:知识 >>正文

asp在IIS7中的mime类型是什么

知识82947人已围观

简介ASP文件在IIS7里压根儿就没有默认的MIME类型。这事儿我踩过坑,当时给客户部署一个老系统,aspx页面全正常,唯独.asp文件在浏览器里直接变成了纯文本下载。排查半天,最后打开IIS管理器一看— ...

ASP文件在IIS7里压根儿就没有默认的类型MIME类型。这事儿我踩过坑,类型当时给客户部署一个老系统,类型aspx页面全正常,类型唯独.asp文件在浏览器里直接变成了纯文本下载。类型排查半天,类型最后打开IIS管理器一看——application/asp那一栏空荡荡的类型。

IIS7的类型静态文件处理机制和IIS6完全不同。它不再像老版本那样自动关联常见的类型脚本扩展名,除了少数内置类型(比如html、类型txt、类型jpg),类型其余全得靠管理员手动添加。类型ASP这种“过气”技术自然不在默认清单里。类型更坑的类型是,如果你用的是集成模式(Integrated Mode),即便你在“处理程序映射”里配了asp模块,MIME类型缺失照样会让IIS直接返回404.3错误——这错误提示压根儿不会告诉你“缺MIME”,只让你觉得是路径写错了。

解决办法分两步。先打开IIS管理器,选中站点,双击“MIME类型”图标,点右侧“添加”,扩展名填 .asp,MIME类型填 application/asp 或者 text/plain(后者能保证内容原样输出,但不会执行脚本)。要是你只想让ASP脚本跑起来,其实该去检查“处理程序映射”里有没有 ASPClassic 这个条目——MIME类型只是给静态文件用的,脚本执行走的是另一条管道。但诡异的是,IIS7的“请求筛选”模块里有个“文件扩展名”限制,默认禁止了 .asp,这时候你就算配好MIME和处理程序,请求照样被拦截。得去“请求筛选”->“文件扩展名”->“编辑功能权限”,把“执行”勾上。

我见过不少运维直接改applicationHost.config文件的。路径在 C:\Windows\System32\inetsrv\config,找到 <staticContent> 节点,往里塞一行 <mimeMap fileExtension=".asp" mimeType="application/asp" />,保存后运行 iisreset 生效。这方法快,但容易踩权限坑——config文件默认是只读的,得先改ACL。更稳妥的是用命令行:appcmd set config /section:staticContent /+[fileExtension='.asp',mimeType='application/asp'],这玩意儿能自动处理权限问题。

还有个冷门细节:如果站点启用了“URL授权”或者“输出缓存”,MIME类型缺失会导致缓存规则不生效。有次客户反馈ASP页面每次刷新都从服务器拉数据,查了半天才发现是MIME类型没配,IIS把响应当成未知类型,直接跳过了缓存模块。配好之后,页面响应时间从800ms降到200ms——这数字我记得清清楚楚。

最后说句实话,现在新项目谁还用ASP?但老系统总得有人维护。你要是碰到这种问题,先别急着翻配置,用 curl -I 看响应头,如果返回 Content-Type: text/html 但状态码是404.3,那基本就是MIME的锅。配完之后记得重启站点,光刷新页面有时候不生效。反正我后来把自己常用服务器的MIME列表导成了备份文件,换服务器直接导入,省得每次手动敲。

Tags:

上一篇:网页入侵技术电子书

下一篇:零度黑帽

相关文章

  • 广东中山仪器检测公司

    知识

    中山火炬开发区的路边,有一栋灰白色四层小楼,玻璃门上印着“广东中山仪器检测公司”一行蓝字。我上个月送一批电子秤去校准,在门厅等了二十分钟,看见业务员小陈脚不沾地地接电话——三家工厂的仪器到期,两家新客 ...

    【知识】

    阅读更多
  • 作业答案网站免费

    知识

    我搜过,也试过。那些号称“永久免费”的作业答案网站,十个里有九个是坑。剩下那一个,要么是钓鱼页面,要么答案错得离谱。 真正让我改观的,是上学期期末那件事。室友小陈,高数挂了两次,第三次考前三天,他抱着 ...

    【知识】

    阅读更多
  • 扑克赌博有哪几种玩法

    知识

    扑克赌博的玩法多到数不清,但真正能在赌桌上见到的,翻来覆去就那么几种。德州扑克是现在最风靡的,尤其在国内的地下局和线上平台,几乎成了“默认选项”。每人两张底牌,五张公共牌,拼组合大小。这游戏妙就妙在, ...

    【知识】

    阅读更多


友情链接