HTTP状态码总结

简介: HTTP状态码总结

为了更好地了解各个状态码代表的意思,做了一个总结,在实际的工作中,主要涉及到的还是200,404,500等。


1. HTTP状态码分5大类:


image.png

2. 100~199:信息性状态码


1XX的状态码不常用,这是HTTP/1.1引入的信息性状态码。目前已有的信息性状态码如下表:


image.png

100 Continue的目的是对这样的情况进行优化:HTTP客户端应用程序有一个实体的主体部分要发送给服务器,但希望在发送之前查看一下服务器是否会接受这个实体。当要避免客户端发送给服务器一个无法处理或使用的大实体时,发送100 Continue Expect首部给服务器,来先进行判断服务器是否能够处理。


当服务器收到了一条带有值为100 Continue的Expect首部的请求,它会用100 Continue或者一条错误码来进行响应,以告诉客户端是继续还是停止。1XX的状态码目前还不常用,不用太深入研究。


3. 200~299:成功状态码


2XX的状态码表示请求是成功的,如下表:


image.png

200 OK应该是我们见的最多的状态码了。如果你打开firebug,随便找个网站打开,应该就能看到一堆的200响应。但如果你再刷新,就有可能会看到一堆304了。其他的2XX似乎也不常见到。


4. 300~399:重定向状态码


3XX状态码告知客户端使用替代位置来访问他们所感兴趣的资源。还可以通过某些重定向状态码对资源的应用程序本地副本与源端服务器上的资源进行验证。详细的状态码见下表:


image.png

我们注意到302、303、307状态码的含义类似。这源于HTTP/1.0与HTTP/1.1应用程序对这些状态码的处理方式不同。302是HTTP/1.0中使用的,而HTTP/1.1用307来取代302实现临时重定向。


我们经常看到的应该是304 Not Modified,如果你打开firebug,访问百度,然后刷新,应该就能看到304了。这个状态码很有用,如果本地缓存没有过期,而且服务器上的资源没有修改过,就无需重复发送给客户端了,能够减轻服务器压力,节省网络流量。


5. 400~499:客户端错误状态码


4XX错误码是表示客户端这边发送的请求是错误的。服务器不能理解或者找不到请求的资源等等。详细见下表:


image.png


image.png

如果代理或其他中间应用程序有确切证据说明源端服务器会为某请求产生一个失败的期望,就可以发送这个响应状态码

我们通常会见到的是403 Forbidden,404 Not Found,415 Unsupported Media Type等几个,403一般在访问一个没有权限的svn库时会看到;404更普遍,平常访问一些老网站就有可能得到404的响应;如果你做接口测试,应该对415不是很陌生,发送的实体类型不符合接口要求,我们就会收到415。其他的400 Bad Request,405 Method Not Allowed,408 Request Timeout等几个也偶尔会看到。


6. 500~599:服务器错误状态码


有时候问题不是发生在客户端,而是服务器端出错了。这时服务器端应该给客户端发送5XX错误码,告诉客户端出现了什么问题。如下表:

image.png


5XX的响应在网上比较少见到,但如果你做开发或者测试,应该对5XX的状态码不陌生。500 Internal Server Error,做Web的同学在调试代码的时候应该会经常遇到;503 Service Unavailable,应该也不少见,如果你的服务器端用的是Apache + Tomcat,你就会发现Apache启动很快,但有时候Tomcat启动速度就容易受到你的web应用的影响了,这时你应该经常见到503的状态码。

目录
相关文章
|
2月前
|
Shell
HTTP状态码解析:在Haskell中判断响应成功与否
HTTP状态码解析:在Haskell中判断响应成功与否
|
1月前
|
开发者
深入了解HTTP状态码
深入了解HTTP状态码
175 64
|
3月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之遇到报错:HTTP状态码400,该如何处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
1月前
|
缓存 网络协议 JavaScript
【HTTP】构造HTTP请求和状态码
【HTTP】构造HTTP请求和状态码
52 1
【HTTP】构造HTTP请求和状态码
|
1月前
|
缓存 应用服务中间件 nginx
你知道 HTTP 的状态码都有哪些吗?它们的含义又是什么呢?
你知道 HTTP 的状态码都有哪些吗?它们的含义又是什么呢?
53 8
|
28天前
|
缓存 前端开发 安全
前端开发者必备:HTTP状态码含义与用途解析,常见错误码产生原因及解决策略
前端开发者必备:HTTP状态码含义与用途解析,常见错误码产生原因及解决策略
102 0
|
2月前
|
开发者
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
31 1
|
2月前
|
测试技术 API
8-20|https://gitlab.xx.com/api/v4/projects/4/trigger/pipeline Request failed 状态码400
8-20|https://gitlab.xx.com/api/v4/projects/4/trigger/pipeline Request failed 状态码400
|
2月前
|
API
探索研究Servlet HTTP 状态码
【9月更文挑战第24天】
37 0
|
3月前
|
缓存 Java Apache
常见的 HTTP 状态码分类及说明
这篇文章介绍了常见的HTTP状态码分类及其说明,包括1xx信息响应、2xx成功、3xx重定向、4xx客户端错误和5xx服务器错误,并提供了一个使用Apache HttpClient进行HTTP POST请求的Java代码示例。

热门文章

最新文章