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

來源:互聯網
上載者:User

瀏覽器如何判斷一個文檔的類型是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

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.