[Web开发] IE 如何判断文件的类型
2009-02-11 09:57
423 查看
浏览器如何判断一个文档的类型是txt,还是html?还是JPG? 还是XML ? .... 不同的文档类型应该使用不同的方式去显示。
比较标准的判断文档类型依据是:
1) 通过HTTP 请求数据包header的Content-Type值
2)通过文件扩展名
但是这2个依据并不是每次都可靠的。有很多服务器没有被很好配置,于是就没有content-type这项。另外,很多动态的PHP/ASP生成的内容都是没有文件扩展名的,比如http://123.com/a.php?abc=xyz 这种URL。
于是IE 加入了另外一个依据:
3) 根据文档的数据内容来判断文档类型
不同的文档类型有不同的数据特征,通过这些特征来确定类型。
但是,有些时候Web开发者并不希望这么IE 自动判断,怎么办? IE8里面新增了一个HTTP请求数据包header的属性X-Content-Type-Options。 可以通过使用X-Content-Type-Options:nosniff 选项来关闭IE的文档类型自动判断功能。
HTTP/1.1 200 OK
Content-Length: 108
Date: Thu, 26 Jun 2008 22:06:28 GMT
Content-Type: text/plain;
X-Content-Type-Options: nosniff
<html>
<body bgcolor="#AA0000">
This page renders as HTML source code (text) in IE8.
</body>
</html>
以上这段代码在IE8下就会显示成纯文本,因为Content-Type: text/plain;定义了该文档是txt文件。
但是在IE7下就会显示成一个HTML文件,因为IE7通过这个文档的数据(HTML代码)判定这是一个HTML文件。
IE8 截图
IE7 截图
比较标准的判断文档类型依据是:
1) 通过HTTP 请求数据包header的Content-Type值
2)通过文件扩展名
但是这2个依据并不是每次都可靠的。有很多服务器没有被很好配置,于是就没有content-type这项。另外,很多动态的PHP/ASP生成的内容都是没有文件扩展名的,比如http://123.com/a.php?abc=xyz 这种URL。
于是IE 加入了另外一个依据:
3) 根据文档的数据内容来判断文档类型
不同的文档类型有不同的数据特征,通过这些特征来确定类型。
但是,有些时候Web开发者并不希望这么IE 自动判断,怎么办? IE8里面新增了一个HTTP请求数据包header的属性X-Content-Type-Options。 可以通过使用X-Content-Type-Options:nosniff 选项来关闭IE的文档类型自动判断功能。
HTTP/1.1 200 OK
Content-Length: 108
Date: Thu, 26 Jun 2008 22:06:28 GMT
Content-Type: text/plain;
X-Content-Type-Options: nosniff
<html>
<body bgcolor="#AA0000">
This page renders as HTML source code (text) in IE8.
</body>
</html>
以上这段代码在IE8下就会显示成纯文本,因为Content-Type: text/plain;定义了该文档是txt文件。
但是在IE7下就会显示成一个HTML文件,因为IE7通过这个文档的数据(HTML代码)判定这是一个HTML文件。
IE8 截图
IE7 截图
相关文章推荐
- [Web开发] IE 如何判断文件的类型
- [Web开发] 在HTML代码里面如何判断IE版本
- [Web开发] 在HTML代码里面如何判断IE版本
- [Web开发] 在HTML代码里面如何判断IE版本
- 如何通过配置tomcat或是web.xml让ie直接下载txt类型的文件
- 在Asp.Net2.0中可以方便的访问配置文件web.config,如判断debug设置,验证类型等。
- [Web开发] 如何改变IE滚动条的颜色
- JS自定义函数对web前端上传的文件进行类型大小判断
- java web开发在web.xml配置<mime-mapping>实现浏览器根据文件类型自动打开
- Web开发兼容性系列文章(二):根据userAgent值的特性判断客户端设备及浏览器类型
- 如何检测或判断一个文件或字节流(无BOM)是什么编码类型
- 在Asp.Net2.0中可以方便的访问配置文件web.config,如判断debug设置,验证类型等。
- 如何判断上传文件的真实类型
- C# 通过HttpWebRequest 创建连接获取文件大小 判断Http类型的文件是否存在
- 如何用js来判断浏览器类型(ie,firefox)等等
- 如何判断一个(压缩)文件的类型,以及zcat/gzcat
- asp.net mvc开发中,web.config文件如何配置数据库链接
- Web开发兼容性系列文章(二):根据userAgent值的特性判断客户端设备及浏览器类型
- 如何判断当前浏览器的类型(IE和FF)然后调用不同的css?
- 如何用js来判断浏览器类型(ie,firefox)等等