天天看點

[Web開發] IE 如何判斷檔案的類型

浏覽器如何判斷一個文檔的類型是txt,還是html?還是JPG? 還是XML ? .... 不同的文檔類型應該使用不同的方式去顯示。

比較标準的判斷文檔類型依據是:

1) 通過HTTP 請求資料包header的Content-Type值

2)通過檔案擴充名

于是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 截圖

 本文轉自 陳本峰 51CTO部落格,原文連結:http://blog.51cto.com/wingeek/273599,如需轉載請自行聯系原作者