一個奇怪的網頁橫過我的路。 (作爲一名開發人員,我必須解開這個謎團。)服務器爲網頁返回404,但頁面在瀏覽器中顯示正常 - 爲什麼?
在任何瀏覽器中訪問網頁時,一切似乎都正常。網頁按預期顯示。
但在控制檯看當服務器acually返回404個狀態碼:
那麼,爲什麼瀏覽器呈現頁面?
縱觀車身顯示返回的HTML標籤:
等一下。響應404並一路發送HTML?瀏覽器渲染它?
這是怎麼發生的?這是一些服務器配置錯誤嗎?或者是在我不明白的地方發生了什麼?故意配置服務器的行爲是否有實際的理由?
一個奇怪的網頁橫過我的路。 (作爲一名開發人員,我必須解開這個謎團。)服務器爲網頁返回404,但頁面在瀏覽器中顯示正常 - 爲什麼?
在任何瀏覽器中訪問網頁時,一切似乎都正常。網頁按預期顯示。
但在控制檯看當服務器acually返回404個狀態碼:
那麼,爲什麼瀏覽器呈現頁面?
縱觀車身顯示返回的HTML標籤:
等一下。響應404並一路發送HTML?瀏覽器渲染它?
這是怎麼發生的?這是一些服務器配置錯誤嗎?或者是在我不明白的地方發生了什麼?故意配置服務器的行爲是否有實際的理由?
Another answer on Stack Overflow包含一些有趣的信息:spec實際推薦HTTP狀態碼404加HTML響應體。
的4XX類的狀態代碼是用於在其中
客戶端似乎有錯誤的案件。響應一個HEAD
請求時除外,服務器應該包括含有表示的錯誤情況一個
解釋,以及它是否是一個臨時或
永久狀態。這些狀態代碼適用於任何
請求方法。用戶代理應該向用戶顯示任何包含的
表示。
這給我留下了兩種可能的解釋:
說明1:這是一個服務器錯誤。
解釋2:它是爲了擊敗爬蟲和頁面觀察者而完成的。
如果你不希望你的頁面被索引,第二個確實會很聰明。