1. 程式人生 > >常見的錯誤程式碼

常見的錯誤程式碼

錯誤程式碼(也稱作狀態程式碼),指為伺服器所接收每個請求(網頁點選)分配的 3 位數程式碼。多數有效網頁點選都有狀態程式碼 200("正常")。"網頁未找到"錯誤會生產 404 錯誤。某些常見的程式碼以粗體顯示。

1xx(臨時響應)

用於表示臨時響應並需要請求者執行操作才能繼續的狀態程式碼。

程式碼 說明

100(繼續) 請求者應當繼續提出請求。伺服器返回此程式碼則意味著,伺服器已收到了請求的第一部分,現正在等待接收其餘部分。

101(切換協議) 請求者已要求伺服器切換協議,伺服器已確認並準備進行切換。

2xx(成功)

用於表示伺服器已成功處理了請求的狀態程式碼。

程式碼 說明

200(成功) 伺服器已成功處理了請求。通常,這表示伺服器提供了請求的網頁。如果您的 robots.txt檔案顯示為此狀態,那麼,這表示 Googlebot 已成功檢索到該檔案。

201(已建立) 請求成功且伺服器已建立了新的資源。

202(已接受) 伺服器已接受了請求,但尚未對其進行處理。

203(非授權資訊) 伺服器已成功處理了請求,但返回了可能來自另一來源的資訊。

204(無內容) 伺服器成功處理了請求,但未返回任何內容。

205(重置內容) 伺服器成功處理了請求,但未返回任何內容。與 204 響應不同,此響應要求請求者重置文件檢視(例如清除表單內容以輸入新內容)。

206(部分內容) 伺服器成功處理了部分 GET 請求。

3xx(已重定向)

要完成請求,您需要進一步進行操作。通常,這些狀態程式碼是永遠重定向的。Google 建議您在每次請求時使用的重定向要少於 5 個。您可以使用網站管理員工具來檢視 Googlebot 在抓取您已重定向的網頁時是否會遇到問題。診斷下的抓取錯誤頁中列出了 Googlebot 由於重定向錯誤而無法抓取的網址。

程式碼 說明

300(多種選擇) 伺服器根據請求可執行多種操作。伺服器可根據請求者 (User agent) 來選擇一項操作,或提供操作列表供請求者選擇。

301(永久移動) 請求的網頁已被永久移動到新位置。伺服器返回此響應(作為對 GET 或 HEAD 請求的響應)時,會自動將請求者轉到新位置。您應使用此程式碼通知 Googlebot 某個網頁或網站已被永久移動到新位置。

302(臨時移動) 伺服器目前正從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。此程式碼與響應 GET 和 HEAD 請求的 301 程式碼類似,會自動將請求者轉到不同的位置。但由於 Googlebot 會繼續抓取原有位置並將其編入索引,因此您不應使用此程式碼來通知 Googlebot 某個頁面或網站已被移動。

303(檢視其他位置) 當請求者應對不同的位置進行單獨的 GET 請求以檢索響應時,伺服器會返回此程式碼。對於除 HEAD 請求之外的所有請求,伺服器會自動轉到其他位置。

304(未修改) 自從上次請求後,請求的網頁未被修改過。伺服器返回此響應時,不會返回網頁內容。

如果網頁自請求者上次請求後再也沒有更改過,您應當將伺服器配置為返回此響應(稱為 If-Modified-Since HTTP 標頭)。由於伺服器可以告訴 Googlebot 自從上次抓取後網頁沒有更改過,因此可節省頻寬和開銷。

305(使用代理) 請求者只能使用代理訪問請求的網頁。如果伺服器返回此響應,那麼,伺服器還會指明請求者應當使用的代理。

307(臨時重定向) 伺服器目前正從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。此程式碼與響應 GET 和 HEAD 請求的 301 程式碼類似,會自動將請求者轉到不同的位置。但由於 Googlebot 會繼續抓取原有位置並將其編入索引,因此您不應使用此程式碼來通知 Googlebot 某個頁面或網站已被移動。

4xx(請求錯誤)

這些狀態程式碼表示,請求可能出錯,已妨礙了伺服器對請求的處理。

程式碼 說明

400(錯誤請求) 伺服器不理解請求的語法。

401(未授權) 請求要求進行身份驗證。登入後,伺服器可能會返回對頁面的此響應。

403(已禁止) 伺服器拒絕請求。如果在 Googlebot 嘗試抓取您網站上的有效網頁時顯示此狀態程式碼(您可在 Google 網站管理員工具中診斷下的網路抓取頁面上看到此狀態程式碼),那麼,這可能是您的伺服器或主機拒絕 Googlebot 對其進行訪問。

404(未找到) 伺服器找不到請求的網頁。例如,如果請求是針對伺服器上不存在的網頁進行的,那麼,伺服器通常會返回此程式碼。

如果您的網站上沒有 robots.txt 檔案,而您在 Google 網站管理員工具"診斷"標籤的 robots.txt 頁上發現此狀態,那麼,這是正確的狀態。然而,如果您有 robots.txt 檔案而又發現了此狀態,那麼,這說明您的 robots.txt 檔案可能是命名錯誤或位於錯誤的位置。(該檔案應當位於頂級域名上,且應當名為 robots.txt)。

如果您在 Googlebot 嘗試抓取的網址上發現此狀態(位於"診斷"標籤的 HTTP 錯誤頁上),那麼,這表示 Googlebot 所追蹤的可能是另一網頁中的無效連結(舊連結或輸入有誤的連結)。

405(方法禁用) 禁用請求中所指定的方法。

406(不接受) 無法使用請求的內容特性來響應請求的網頁。

407(需要代理授權) 此狀態程式碼與 401(未授權)類似,但卻指定了請求者應當使用代理進行授權。如果伺服器返回此響應,那麼,伺服器還會指明請求者應當使用的代理。

408(請求超時) 伺服器等候請求時超時。

409(衝突) 伺服器在完成請求時發生衝突。伺服器必須包含有關響應中所發生的衝突的資訊。伺服器在響應與前一個請求相沖突的 PUT 請求時可能會返回此程式碼,同時會提供兩個請求的差異列表。

410(已刪除) 如果請求的資源已被永久刪除,那麼,伺服器會返回此響應。該程式碼與 404(未找到)程式碼類似,但在資源以前有但現在已經不復存在的情況下,有時會替代 404 程式碼出現。如果資源已被永久刪除,那麼,您應當使用 301 程式碼指定該資源的新位置。

411(需要有效長度) 伺服器不會接受包含無效內容長度標頭欄位的請求。

412(未滿足前提條件) 伺服器未滿足請求者在請求中設定的其中一個前提條件。

413(請求實體過大) 伺服器無法處理請求,因為請求實體過大,已超出伺服器的處理能力。

414(請求的 URI 過長) 請求的 URI(通常為網址)過長,伺服器無法進行處理。

415(不支援的媒體型別) 請求的格式不受請求頁面的支援。

416(請求範圍不符合要求) 如果請求是針對網頁的無效範圍進行的,那麼,伺服器會返回此狀態程式碼。

417(未滿足期望值) 伺服器未滿足"期望"請求標頭欄位的要求。

5xx(伺服器錯誤)

這些狀態程式碼表示,伺服器在嘗試處理請求時發生內部錯誤。這些錯誤可能是伺服器本身的錯誤,而不是請求出錯。

程式碼 說明

500(伺服器內部錯誤) 伺服器遇到錯誤,無法完成請求。

501(尚未實施) 伺服器不具備完成請求的功能。例如,當伺服器無法識別請求方法時,伺服器可能會返回此程式碼。

502(錯誤閘道器) 伺服器作為閘道器或代理,從上游伺服器收到了無效的響應。

503(服務不可用) 目前無法使用伺服器(由於超載或進行停機維護)。通常,這只是一種暫時的狀態。

504(閘道器超時) 伺服器作為閘道器或代理,未及時從上游伺服器接收請求。

505(HTTP 版本不受支援) 伺服器不支援請求中所使用的 HTTP 協議版本。