網(wǎng)站首頁 編程語言 正文
為了更好地了解各個狀態(tài)碼代表的意思,做了一個總結(jié),在實際的工作中,主要涉及到的還是200,404,500等。
1. http狀態(tài)碼分為五大類:
2. 100-199 信息性質(zhì)狀態(tài)碼
1XX的狀態(tài)碼不常用,這是HTTP/1.1引入的信息性狀態(tài)碼。目前已有的信息性狀態(tài)碼如下圖:
100狀態(tài)碼的目的是對這樣的情況進行優(yōu)化:http客戶端應用程序有一個實體的主體部分要發(fā)送給服務器,但希望在發(fā)送之前查看一下服務器是否會接受這個實體,當要避免客戶端發(fā)送給服務器一個無法處理或使用的大實體時,發(fā)送100狀態(tài)碼Expect首部給服務器,來先進行判斷服務器是否能夠處理。
當服務器收到了一條帶有值為100 Continue的Expect首部的請求,它會用100 Continue或者一條錯誤碼來進行響應,以告訴客戶端是繼續(xù)還是停止。1XX的狀態(tài)碼目前還不常用,不用太深入研究。
3. 200~299:成功狀態(tài)碼
2XX的狀態(tài)碼表示請求是成功的,如下圖:
200 OK應該是我們見的最多的狀態(tài)碼了。如果你打開firebug,隨便找個網(wǎng)站打開,應該就能看到一堆的200響應。但如果你再刷新,就有可能會看到一堆304了。其他的2XX似乎也不常見到。
4. 300~399:重定向狀態(tài)碼
我們注意到302、303、307狀態(tài)碼的含義類似。這源于HTTP/1.0與HTTP/1.1應用程序?qū)@些狀態(tài)碼的處理方式不同。302是HTTP/1.0中使用的,而HTTP/1.1用307來取代302實現(xiàn)臨時重定向。
我們經(jīng)??吹降膽撌?04 Not Modified,如果你打開firebug,訪問百度,然后刷新,應該就能看到304了。這個狀態(tài)碼很有用,如果本地緩存沒有過期,而且服務器上的資源沒有修改過,就無需重復發(fā)送給客戶端了,能夠減輕服務器壓力,節(jié)省網(wǎng)絡流量。
5.400~499:客戶端錯誤狀態(tài)碼
我們通常會見到的是403 Forbidden,404 Not Found,415 Unsupported Media Type等幾個,403一般在訪問一個沒有權(quán)限的svn庫時會看到;404更普遍,平常訪問一些老網(wǎng)站就有可能得到404的響應;如果你做接口測試,應該對415不是很陌生,發(fā)送的實體類型不符合接口要求,我們就會收到415。其他的400 Bad Request,405 Method Not Allowed,408 Request Timeout等幾個也偶爾會看到。
6. 500~599:服務器錯誤狀態(tài)碼
5XX的響應在網(wǎng)上比較少見到,但如果你做開發(fā)或者測試,應該對5XX的狀態(tài)碼不陌生。500 Internal Server Error,做Web的同學在調(diào)試代碼的時候應該會經(jīng)常遇到;503 Service Unavailable,應該也不少見,如果你的服務器端用的是Apache + Tomcat,你就會發(fā)現(xiàn)Apache啟動很快,但有時候Tomcat啟動速度就容易受到你的web應用的影響了,這時你應該經(jīng)常見到503的狀態(tài)碼
原文鏈接:https://blog.csdn.net/AC_Surprise/article/details/119809630
相關(guān)推薦
- 2022-07-26 Python的基本數(shù)據(jù)類型
- 2022-09-07 Golang?range?slice?與range?array?之間的區(qū)別_Golang
- 2022-08-11 boost.asio框架系列之調(diào)度器io_service_C 語言
- 2023-07-07 TP6的服務在自定義composer包中如何使用
- 2022-04-03 Python?Flask?+?Redis?程序練習_python
- 2022-05-15 ASP.NET?CORE實現(xiàn)跨域_實用技巧
- 2023-02-15 docker無法刪除鏡像報Error:?No?such?container的錯誤問題_docker
- 2022-11-23 Shell執(zhí)行腳本并輸出日志文件的方法_linux shell
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支