http學習筆記之狀態碼記錄

2021-07-25 12:56:18 字數 3631 閱讀 5700

狀態碼的分類:

整體範圍

已定義範圍

分類100 - 199

100 - 101

資訊提示

200 - 299

200 - 206

成功300 - 399

300 - 305

資源重定向

400 -499

400 - 415

客戶端錯誤

500 -599

500 - 505

伺服器錯誤

已定義的狀態碼含義:

狀態碼原因短語

含義100

continue

說明收到了請求的初始部分,請客戶端繼續,傳送了這個狀態碼之後,伺服器在收到請求之後必須進行響應。

(很多方面看來,這是一種優化,客戶端應用程式只有在避免向伺服器傳送乙個伺服器無法處理的或使用的大實體時,才應該使用100 continue。)

101switching protocols

說明伺服器正在根據客戶端的指定,將協議切換成update首部所列的協議。

200ok

請求沒問題,實體的主體部分包含了所有請求的資源。

201created

用於建立伺服器物件的請求(比如put)。響應的實體主體部分中應該包含各種引用了已建立的資源的url,location首部包含的則是最具體的引用。

202accepted

請求已被接受,但伺服器還未對其執行任何動作。不能保證伺服器會完成這個請求;這只是意味著接受請求時,它看起來是有效的。

伺服器應該在實體的主體部分包含對請求狀態的描述,或許還應該有對請求完成時間的估計(或者包含乙個指標,指向可以獲取此資訊的位置)

203non-authoritative information

實體首部包含的資訊不是來自於源端伺服器,而是來自資源的乙份副本。如果中間節點上有乙份資源副本,但無法或者沒有對它所傳送的與資源有關的元資訊進行驗證,就會出現這種情況。

204no content

響應報文中包含若干首部和乙個狀態行,但沒有實體的主體部分。主要用於在瀏覽器不轉為顯示新文件的情況下,對其進行更新(比如重新整理乙個表單)。

205reset content

另乙個主要用於瀏覽器的**。負責告知瀏覽器清楚當前頁面中的所有html表單元素。

206partial content

成功執行部分或range(範圍)請求。206響應中必須包含content-range,date以及etag或content-location首部

300multiple choices

客戶端請求乙個實際指向多個資源的url時會返回這個狀態碼,比如伺服器上有某個html文件的英語和法語版本。返回這個**時會帶有乙個選項列表;這樣使用者就可以選擇他希望使用的那一項。有多個版本時,客戶端需要溝通解決。

301moved permanently

在請求的url已被移除時使用。響應的location首部中應該包含資源現在所處的url。

302found

與301狀態碼類似;但是,客戶端應該使用location首部給出的url來臨時定位資源。將來的請求仍應該使用老的url。

303see other

告知客戶端應該用另乙個url來獲取資源。新的url位於響應報文的location首部。其主要目的是允許post請求的響應將客戶端定向到某個資源上去。

304not modified

客戶端可以通過所包含的請求首部,使其請求變成有條件的。

如果客戶發起乙個條件get請求,而最近資源未被修改的話,就可以用這個狀態碼來說明資源未被修改。帶有這個狀態碼的響應不應該包含實體的主體部分。

305use proxy

用來說明必須通過乙個**來訪問資源;**的位置由location首部給出。很重要的一點是,客戶端是相對某個特定資源來解析這條響應

306(未使用)

當前未使用

307temporary redirect

與301狀態碼類似;但客戶端應該使用location首部給出的url來臨時定位資源。將來的請求應該使用老的url。

400bad request

用於告知客戶端它傳送了乙個錯誤的請求

401unauthorized

與適當的首部一同返回,在這些首部中請求客戶端在獲取對資源的訪問權之前,對自己進行認證。

402payment required

還未被使用,為未來做了預留。

403forbidden

用於說明請求被伺服器拒絕,如果伺服器想說明為什麼拒絕請求們可以包含實體的主體部分來對原因進行描述。但這個狀態碼通常是在伺服器不想說明拒絕原因的時候使用的。

404not found

用於說明伺服器無法找到所請求的url。通常會包含乙個實體,以便客戶端應用程式顯示給使用者看。

405method not allowed

發起的請求中帶有所請求的url不支援的方法時,使用此狀態碼。

應該在響應中包含allow首部,以告知客戶端對所請求的資源可以使用哪些方法。

406not acceptable

客戶端可以指定引數來說明他們願意接受什麼型別的實體。伺服器沒有與客戶端可接收的url相匹配的資源時,使用此**。通常伺服器會包含一些首部,以便客戶端弄清楚為什麼請求無法滿足。

407proxy authentication required

與401相似,但用於要求對資源進行認證的**伺服器。

408request timeout

如果客戶端完成請求所花的時間太長,伺服器可以回送此狀態碼,並關閉連線。超時時長隨伺服器的不同有所不同,但通常對所有的合法請求來說,都是夠長的。

409conflict

用於說明請求能夠在資源上引發的一些衝突。伺服器擔心請求會引發衝突時,可以傳送此狀態碼。響應中應該包含描述衝突的主體。

410gone

與404類似,只是伺服器曾經擁有過此資源。主要用於web站點的維護,這樣伺服器的管理者就可以在資源被移除的情況下通知客戶端了。

411length required

伺服器要求在請求報文中包含content-length首部時使用。

412precondition failed

客戶端發起了條件請求,且其中乙個條件失敗了的時候使用。客戶端包含了expect首部時發起的就是條件請求。

413request entity too long

客戶端所傳送的實體主體部分比伺服器能夠或者希望處理的要大時,使用此狀態碼。

414request uri too long

客戶端所發請求中的請求url比伺服器能夠或者希望處理的要長時,使用此狀態碼。

415unsupported media type

伺服器無法理解或無法支撐客戶端所發實體的內容型別時,使用此狀態碼。

416requested range not satisfiable

請求報文所請求的是指定資源的某個範圍,而伺服器無法滿足此期望時,使用此狀態碼。

417expectation failed

請求的expect請求首部包含了乙個期望,但伺服器無法滿足此期望時,使用此狀態碼。

500internal server error

伺服器遇到乙個妨礙它為請求提供服務的錯誤時,使用此狀態碼。

501   not implemented       客戶端發起的請求超出伺服器的能力範圍(比如使用了伺服器不支援的請求方法)時,使用此狀態碼。

http狀態碼記錄

100 初始的請求已經接受,請客戶端繼續傳送剩餘部分 101 請求這要求伺服器切換協議,伺服器已確定切換 200 伺服器已成功處理了請求 201 請求成功並且伺服器建立了新的資源 202 伺服器已接受請求,但尚未處理 203 伺服器已成功處理請求,但返回的資訊可能來自另乙個 204 伺服器成功處理了...

http狀態碼記錄

http狀態返回 1xx 臨時響應 表示臨時響應並需要請求者繼續執行操作的狀態 http狀態返回 說明 100 繼續 請求者應當繼續提出請求。伺服器返回此 表示已收到請求的第一部分,正在等待其餘部分。101 切換協議 請求者已要求伺服器切換協議,伺服器已確認並準備切換。http狀態返回 2xx 成功...

前端學習筆記 http狀態碼

1xx 請求收到,繼續處理 2xx 操作成功收到,分析 接受 3xx 完成此請求必須進一步處理 4xx 請求包含乙個錯誤語法或不能完成 5xx 伺服器執行乙個完全有效請求失敗100 客戶必須繼續發出請求 101 客戶要求伺服器根據請求轉換http協議版本 200 交易成功 201 提示知道新檔案的u...