404錯誤含義

2021-09-24 17:54:38 字數 1714 閱讀 8031

不用懷疑,你的頁免丟失了。那麼,「404」除了代表你所要瀏覽的頁面丟失外,你可知它的產生原理?

不僅如此,在龐大的網際網路中除了404還有哪些http狀態碼又分別代表著什麼?

正如上面所述,404是一種標準的http返回**,官方稱其為http狀態碼,用來表示網頁伺服器http的響應狀態。

由於**日誌通常會記錄下http狀態碼,因此通過檢視**日誌中的http狀態碼,便可清楚地看到**伺服器與客戶端之間的資訊交換情況。

雖然大多數的人知道404意味著頁面丟失,卻鮮有人對其進行更深入的研究。

其實,狀態碼可分成三個層級,例如404這樣用三個數字表示的。需注意的是,在iis即internet資訊服務中,也有不少微軟制定的擴充狀態碼,例如格式像404.1這樣的,能更深層次的讓開發者找出錯誤原因。

進一步講,幾乎所有的http狀態碼都被分成了五類。

『1』開頭,表示伺服器收到請求並需要請求繼續處理;『2』開頭,表成功響應,即成功處理了請求;『3』開頭,表重定向,也就是引導瀏覽器跳轉到另乙個資源頁面;『4』開頭,則表示請求出錯妨礙了伺服器的處理,伺服器會返回乙個狀態碼解釋到底是什麼錯誤;而『5』開頭,表示伺服器錯誤,但並非請求者的原因。

例如,與404對應的200便是表示訪問成功。實際上,請求過程中會有很多狀態碼快速的發生著變化,且看不出這些狀態碼是如何變化的,除非像打斷點似的操作一步停一下。

因此導致在伺服器響應過程中,很多狀態碼我們是看不到的。

為何要設計諸如404的頁面呢?要知道,以4開頭的錯誤都與客戶端有關,例如使用者訪問的頁面可能已經不存在。當然,這樣的概率相對於**的其他頁面而言要小的多。

那麼,http狀態碼又與seo有什麼關係呢?

像之前所說的,**日誌會記錄下http狀態碼,因而檢視**日誌裡的http狀態碼,便能清楚地看到**伺服器與客戶端之間的資訊交換情況,而這個客戶端,既可以是使用者瀏覽器也可以是搜尋引擎或其他爬取工具(如rss)。

因此,對seo而言http狀態碼的重要意義在於,通過它我們可以檢視搜尋引擎在你**的爬取情況。

除了404以外,你還知道哪些http狀態碼?

其實,這些狀態碼都有各自的含義,這裡我們也向各位介紹幾個比較常見的狀態碼及其含義,方便以後瀏覽頁面遇到問題時,及時了解問題所在:

成功2xx,成功處理了請求的狀態碼。例如200,代表伺服器已成功處理請求並提供了請求的網頁;204,代表伺服器成功處理了請求,但沒有返回任何內容。

重定向3xx,表示每次請求中使用重定向不要超過5次。

例如301,表示請求的網頁已永久移動到新位置;302,表示請求的網頁臨時移動到新位置;304,表示如果網頁自請求者上次請求後沒有更新,則用304**告訴搜尋引擎機械人,可節約頻寬和開銷。

客戶端錯誤4xx,代表請求可能出錯妨礙了伺服器的處理。

例如400,表示伺服器不理解請求的語法;403,表示伺服器拒絕請求;404,代表伺服器找不到請求的網頁(伺服器上不存在的網頁經常會返回此**);410,表示請求的資源永久刪除後,伺服器返回此響應(與404**相似)。

伺服器錯誤5xx,表示伺服器在處理請求時內部發生錯誤,可能是伺服器本身的錯誤而非請求出錯;500代表伺服器遇到錯誤,無法完成請求;503,伺服器目前無法使用(由於超載或停機維護),通常只是暫時狀態。

其實,除了上面列出的幾個常見的http狀態碼外還有很多狀態碼,這裡就不為大家一一枚舉了,掌握一些基本的http狀態碼,有助於我們在發現頁面出現異常時,能夠迅速「讀懂」錯誤提示,盡快解決問題,同時也是為自己長面(臭顯擺)的不錯談資。

常見404與500錯誤及含義

400 錯誤請求 伺服器不理解請求的語法。404 未找到 伺服器找不到請求的網頁。例如,對於伺服器上不存在的網頁經常會返回此 500 伺服器內部錯誤 伺服器遇到錯誤,無法完成請求。4xx 請求錯誤 這些狀態碼表示請求可能出錯,妨礙了伺服器的處理。400 錯誤請求 伺服器不理解請求的語法。401 未授...

404錯誤總結

最近執行程式總是跑404,讓筆者十分鬱悶,在多次失敗中總結了一下個人經驗 第一種 路徑錯誤。這種大概是最常見的,也是初學者最容易犯的,一般是 struts 中沒有配置路徑,或者 url 中書寫錯誤。第二種 jar包重複或無效。這個比較容易解決,先刪除目前工程下的jar包,然後直接複製成功專案中的ja...

Nginx CI 出現404錯誤

對於 index.php abc這種url,apache和lighttpd會按 index.php?abc 來解釋,而nginx會認為是請求名 字是 index.php 的目錄下的abc檔案的內容。所以ci在nginx下不配置rewrite是無法執行的,而在apache 和lighttpd則正常。n...