百科

asp的mime类型

时间:2010-12-5 17:23:32  作者:知识   来源:焦点  查看:  评论:0
内容摘要:ASPActive Server Pages)的MIME类型问题,坑过不少老开发。IIS默认给.asp文件分配的是text/plain,这直接导致浏览器把服务器端脚本当纯文本显示——你辛辛苦苦写的Re

ASP(Active Server Pages)的类型MIME类型问题,坑过不少老开发。类型IIS默认给.asp文件分配的类型是text/plain,这直接导致浏览器把服务器端脚本当纯文本显示——你辛辛苦苦写的类型Response.Write全成了白纸黑字的源码,页面逻辑一点不执行。类型

这事我2015年调一个老系统时撞上过。类型客户那边升级了IIS版本,类型结果所有ASP页面突然变成下载文件。类型查了半天,类型罪魁祸首就是类型注册表里.asp的MIME映射丢了。后来在IIS管理器的类型“MIME类型”里手动加上application/x-asp,页面才恢复正常。类型你看,类型这玩意儿平时没人注意,类型一出事就是类型大麻烦。

正确的ASP MIME类型其实有两种写法。传统IIS 6及更早版本常用application/x-asp,而IIS 7+的集成模式下,微软官方文档推荐的是text/html——因为ASP最终输出的就是HTML内容,告诉浏览器“这是网页”最直接。但问题在于,如果你在web.config里配置错了,比如写成application/octet-stream,那用户访问时就会触发下载,而不是渲染页面。

还有个冷门细节:ASP的包含文件(.inc)经常被误配。有人图省事把.inc也映射成text/plain,结果浏览器直接下载了数据库连接字符串——这等于把密码明文送给访客。我见过一次生产事故,某政府网站后台的conn.inc被搜索引擎抓了快照,里面账号密码全裸奔。后来他们改了后缀为.asp,或者用application/x-httpd-asp这类不常见的MIME,才堵住漏洞。

实际操作中,你可以在IIS的“HTTP响应头”里直接加自定义MIME,也可以在站点根目录放web.config。但别以为配完就完事——记得测试Response.ContentType。ASP代码里如果你手动设置了Response.ContentType = "application/vnd.ms-excel",那IIS层面的MIME会被覆盖,这时候页面输出的是Excel格式,跟服务器配置无关。所以排查问题要分两层看:服务器静态映射管的是“未经过脚本处理”的文件,而脚本内部的ContentType优先级更高。

最后提醒一句:别用application/x-asp做默认值。这类型太老,某些现代浏览器会警告“未知文件类型”,甚至干脆不渲染。直接上text/html最稳,既符合实际输出,又避免兼容性折腾。要是你真需要让ASP生成下载文件,那就在代码里动态改ContentType,别在服务器层面一刀切——否则整个站点的所有页面都会变成下载链接,那画面太美我不敢看。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap