HTTP常見的狀態碼 面試題常考

2022-08-13 03:00:23 字數 3305 閱讀 1701

一些常見的狀態碼為

200 - 伺服器成功返回網頁

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

404 - 請求的網頁不存在

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

503 - 伺服器超時

一、臨時響應

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)。

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 協議版本。

C 常考面試題

1.string類的實現 string string const char str else string string const string str string string operator const string str delete m data m data new char st...

Redis常考面試題

select命令切換資料庫 select 1 dbsize檢視當前資料庫的key的數量 dbsize flushdb清空當前庫,flushall清空全部庫 1.對鍵的操作 檢視所有的key keys 判斷某個key是否存在 exists key的名字 檢視key的型別 type key 從某個庫中刪...

面試常考 HTML5常考面試題

1.doctype的作用是什麼?doctype宣告用於告訴瀏覽器使用哪種模式來進行html文件解析。doctype宣告有兩種 標準模式和怪異模式 混雜模式 doctype不存在或形式不正確會導致html文件以混雜模式呈現。標準模式與混雜模式的區別請參考第3道面試題。2.img標籤的alt屬性和tit...