為什麼我的瀏覽器嘗試從 http://clhs.lisp.se 下載頁面而不是正常查看它們?

為什麼我的瀏覽器嘗試從 http://clhs.lisp.se 下載頁面而不是正常查看它們?

這個問題是幾週前開始的。

每當我導航到任何頁面時http://clhs.lisp.se- 例如這個:http://clhs.lisp.se/Body/m_w_open.htm— 我的瀏覽器無法正常顯示該頁面,而是嘗試將該頁面下載為 HTML 檔案。

Chrome、Firefox、Brave、Vivaldi 和 Opera 中都會出現這種情況;但在 Internet Explorer 或 Edge 中則不然。它曾經在所有瀏覽器中運行良好。

為什麼會出現這種情況,如何才能使其正常運作?使用 IE 或 Edge 不是選項。

答案1

網站和/或網頁伺服器提供網頁的方式有問題。

這不是你的問題,而是伺服器端的問題;與網站本身或提供網路內容的伺服器一起。

而不是傳遞帶有標頭的內容,表明text/html它正在傳遞application/octet-streamWeb 瀏覽器將其解釋為二進位資料的內容,然後應將其作為文件下載進行處理。查看此 Curl 命令的輸出:

curl -ILk http://clhs.lisp.se/Body/m_w_open.htm
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Accept-Ranges: bytes
Content-Length: 8896
Date: Sat, 21 Sep 2019 18:41:10 GMT
Server: lighttpd/1.4.45

我很確定你無法在客戶端修復這個問題,除非有某種插件(例如 Firefox 或 Chrome 的插件)允許你為我們的請求強制使用特定的標頭。

也就是說,該網站的核心內容可以在 Internet 上其他位置正確配置並按預期工作的網站上獲得。

除此之外,如果您只是想閱讀該網站上的內容 - 而不是調試該網站本身上的問題 - 您可以按照以下方式訪問以下其他網站上的相同內容dave_thompson_085 對問題的評論:

根據戴夫的評論,麻省理工學院的第二個連結應該具有權威性,因為「恕我直言,正確的家;當肯特在那裡工作時我就認識他了。

答案2

這個有趣的網站為您的頁面返回一個帶有以下標題的答案:

HTTP/1.1 200 OK
Content-Type: application/octet-stream
Accept-Ranges: bytes
Content-Length: 8896
Date: Sat, 21 Sep 2019 18:44:55 GMT
Server: lighttpd/1.4.45

這裡的問題是 內容類型 字段,描述為:

應用

一些其他類型的數據,通常是未解釋的二進位數據或要由基於郵件的應用程式處理的資訊。主要子類型「八位元組流」用於未解釋的二進位資料的情況,在這種情況下,最簡單的建議操作是為使用者將資訊寫入檔案。

瀏覽器無法顯示二進位。由於「application/octet-stream」的 Content-Type 值將返回答案定義為二進位文件,因此遵守該標準的瀏覽器除了下載該文件之外沒有其他可能的操作。

IE 和 Edge 從來都不擅長遵循標準,這就是微軟目前放棄這兩者的原因。

答案3

你可以試試模組頭。安裝後,您造訪網站的根目錄,按一下擴充圖標,然後按一下加號、回應標頭並輸入Content-Type。祝您瀏覽該網站愉快。

您可以在擴充功能內使用配置文件,僅在需要時進行切換。如果您建立沒有任何規則的設定文件,該圖示將顯示為非活動狀態,這將是網路其餘部分的設定檔。

我測試了它並且它有效,但要小心,我看不到原始程式碼,要修改標題,您需要所有頁面的完全權限。您也可以根據需要從 Firefox 加載項管理員啟用/停用它。更多資訊可以在這裡找到

相關內容