4. 狀態(tài)碼
Nginx code 常用狀態(tài)碼學(xué)習(xí)小結(jié)
Nginx Code Status
狀態(tài)碼分為五類:
- 100-199 用于指定客戶端應(yīng)相應(yīng)的某些動作。
- 200-299 用于表示請求成功。
- 300-399 用于已經(jīng)移動的文件并且常被包含在定位頭信息中指定新的地址信息。
- 400-499 用于指出客戶端的錯誤。
- 500-599 用于指出服務(wù)器錯誤。
200 (成功) 服務(wù)器已成功處理了請求。 通常,這表示服務(wù)器提供了請求的網(wǎng)頁。
201 (已創(chuàng)建) 請求成功并且服務(wù)器創(chuàng)建了新的資源。
202 (已接受) 服務(wù)器已接受請求,但尚未處理。
203 (非授權(quán)信息) 服務(wù)器已成功處理了請求,但返回的信息可能來自另一來源。
204 (無內(nèi)容) 服務(wù)器成功處理了請求,但沒有返回任何內(nèi)容。
205 (重置內(nèi)容) 服務(wù)器成功處理了請求,但沒有返回任何內(nèi)容。
206 (部分內(nèi)容) 服務(wù)器成功處理了部分 GET 請求。
300 (多種選擇) 針對請求,服務(wù)器可執(zhí)行多種操作。 服務(wù)器可根據(jù)請求者 (user agent) 選擇一項操作,或提供操作列表供請求者選擇。
301 (永久移動) 請求的網(wǎng)頁已永久移動到新位置。 服務(wù)器返回此響應(yīng)(對 GET 或 HEAD 請求的響應(yīng))時,會自動將請求者轉(zhuǎn)到新位置。
302 (臨時移動) 服務(wù)器目前從不同位置的網(wǎng)頁響應(yīng)請求,但請求者應(yīng)繼續(xù)使用原有位置來進(jìn)行以后的請求。
303 (查看其他位置) 請求者應(yīng)當(dāng)對不同的位置使用單獨的 GET 請求來檢索響應(yīng)時,服務(wù)器返回此代碼。
304 (未修改) 自從上次請求后,請求的網(wǎng)頁未修改過。 服務(wù)器返回此響應(yīng)時,不會返回網(wǎng)頁內(nèi)容。
305 (使用代理) 請求者只能使用代理訪問請求的網(wǎng)頁。 如果服務(wù)器返回此響應(yīng),還表示請求者應(yīng)使用代理。
307 (臨時重定向) 服務(wù)器目前從不同位置的網(wǎng)頁響應(yīng)請求,但請求者應(yīng)繼續(xù)使用原有位置來進(jìn)行以后的請求。
400 (錯誤請求) 服務(wù)器不理解請求的語法。
401 (未授權(quán)) 請求要求身份驗證。 對于需要登錄的網(wǎng)頁,服務(wù)器可能返回此響應(yīng)。
403 (禁止) 服務(wù)器拒絕請求。
404 (未找到) 服務(wù)器找不到請求的網(wǎng)頁。
405 (方法禁用) 禁用請求中指定的方法。
406 (不接受) 無法使用請求的內(nèi)容特性響應(yīng)請求的網(wǎng)頁。
407 (需要代理授權(quán)) 此狀態(tài)代碼與 401(未授權(quán))類似,但指定請求者應(yīng)當(dāng)授權(quán)使用代理。
408 (請求超時) 服務(wù)器等候請求時發(fā)生超時。
409 (沖突) 服務(wù)器在完成請求時發(fā)生沖突。 服務(wù)器必須在響應(yīng)中包含有關(guān)沖突的信息。
410 (已刪除) 如果請求的資源已永久刪除,服務(wù)器就會返回此響應(yīng)。
411 (需要有效長度) 服務(wù)器不接受不含有效內(nèi)容長度標(biāo)頭字段的請求。
412 (未滿足前提條件) 服務(wù)器未滿足請求者在請求中設(shè)置的其中一個前提條件。
413 (請求實體過大) 服務(wù)器無法處理請求,因為請求實體過大,超出服務(wù)器的處理能力。
414 (請求的 URI 過長) 請求的 URI(通常為網(wǎng)址)過長,服務(wù)器無法處理。
415 (不支持的媒體類型) 請求的格式不受請求頁面的支持。
416 (請求范圍不符合要求) 如果頁面無法提供請求的范圍,則服務(wù)器會返回此狀態(tài)代碼。
417 (未滿足期望值) 服務(wù)器未滿足"期望"請求標(biāo)頭字段的要求。
499 客戶端主動斷開了連接,有的時候是因為客戶端請求超時,主動斷開連接。
500 (服務(wù)器內(nèi)部錯誤) 服務(wù)器遇到錯誤,無法完成請求。
501 (尚未實施) 服務(wù)器不具備完成請求的功能。 例如,服務(wù)器無法識別請求方法時可能會返回此代碼。
502 (錯誤網(wǎng)關(guān)) 服務(wù)器作為網(wǎng)關(guān)或代理,從上游服務(wù)器收到無效響應(yīng)。
503 (服務(wù)不可用) 服務(wù)器目前無法使用(由于超載或停機(jī)維護(hù))。 通常,這只是暫時狀態(tài)。
504 (網(wǎng)關(guān)超時) 服務(wù)器作為網(wǎng)關(guān)或代理,但是沒有及時從上游服務(wù)器收到請求。
505 (HTTP 版本不受支持) 服務(wù)器不支持請求中所用的 HTTP 協(xié)議版本。
http請求流程

一個普通的http請求處理流程,如上圖所示: A -> client端發(fā)起請求給nginx B -> nginx處理后,將請求轉(zhuǎn)發(fā)到uwsgi,并等待結(jié)果 C -> uwsgi處理完請求后,返回數(shù)據(jù)給nginx D -> nginx將處理結(jié)果返回給客戶端 每個階段都會有一個預(yù)設(shè)的超時時間,由于網(wǎng)絡(luò)、機(jī)器負(fù)載、代碼異常等等各種原因,如果某個階段沒有在預(yù)期的時間內(nèi)正常返回,就會導(dǎo)致這次請求異常,進(jìn)而產(chǎn)生不同的狀態(tài)碼。

浙公網(wǎng)安備 33010602011771號