在介紹狀態碼之前,要簡單講一下為什么要有狀態碼這個東西。計算機之間的通信以協議為共同基礎,客戶端和服務端都按照協議的約定進行通信。HTTP的狀態碼就在HTTP的協議內,規定了很多的狀態。客戶端請求服務端后,服務端就返回結果,同時返回狀態碼。告訴客戶端,本次請求是成功了還是失敗了,還是要客戶端做什么操作。那為什么不使用文本狀態碼呢?不是更加清晰直觀嗎?這是因為這些狀態協議里面已經規定了,提到狀態碼,就是表示本條狀態。
狀態碼分為1-5開頭的CODE,以下依次說明,請仔細閱讀噢
1** 類狀態碼稱之為Information 狀態嗎,表示信息正在處理。
2** 類狀態碼稱為為Success狀態碼,表示請求正常完成。
3**類狀態碼稱之為Redirection 狀態碼,表示需要客戶端進行附加操作(如跳轉。重定向)
4**類狀態碼稱之為Error狀態碼,通常是由於客戶端的錯誤導致的。
5**類狀態嗎稱為Server Error狀態碼,通常是服務端的錯誤導致的。
小結下:狀態碼分為客戶端錯誤狀態碼、服務端錯誤狀態碼、成功狀態碼,重定向狀態碼等。
1**不常見到哈,直接從2開始講了
A . 200(ok) 表示從客戶端成功發出去請求到服務端了,服務端也接收到了這條請求並正確返回
204 No Content 請求已經成功了,但是卻沒有返回任何結果(實體)。通常使用php die() exit()函數會引發204狀態碼
206 Partial Content 范圍請求狀態碼。
B . 301 狀態碼 Moved Permanently 表示你請求的頁面資源現在已經轉移位置了,你需要到新的地方去需找該頁面。這個即重定向,服務器的response首部里會有location字段值來提示。
302 狀態碼(Found)和301差不過。表示你請求的頁面資源現在已經轉移位置了,你要到新的地方去尋找。但是新的地方也不是固定的,說不定過幾天還要換。不提示用戶保存書簽,提示用戶跳轉。
303 狀態碼。See other .表示你請求的頁面中包含着你想要拿到資源的地址。比如你到門衛處去取快遞,到了門衛處,大爺說快遞已經交給前台了。這個過程會返回303狀態碼。
304 Not Modified 表示資源已經找到了,但是和上次相比沒有更新。瀏覽器讀取緩存。
307 Temporary Redirect 臨時重定向。
C . 400 Bad Request 報文語法錯誤。
401 Unauthorized 需要通過HTTP認證(BASIC 或者DIGEST).
403 Forbidden 目錄、文件權限錯誤都會報此狀態碼。
404 服務器上無此資源,一般情況為路徑錯誤。
D . 500 Internal Server Error 服務端錯誤,有可能是WEB應用存在錯誤。
502 Internal Server Error 服務端錯誤,有可能是服務端服務以及停止運行。
503 Serveice Unavailable 服務器超負荷運行。
這些東西,沒必要死記硬背。使用的次數多了慢慢就記住了.一開始使用的時候去查下文檔就好了。這也是我寫此篇博客的原因:留此存證,以備不時之需。
