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的状态码。

目录
相关文章
HTTP协议中常见的状态码 ?
HTTP协议状态码分为1xx、2xx、3xx、4xx、5xx五类。常见状态码包括:101(切换协议)、200(请求成功)、302(重定向)、401(未认证)、404(资源未找到)、500(服务器错误)。
1039 0
|
Web App开发 缓存 数据安全/隐私保护
Django全栈实战:HTTP状态码与业务状态码的分层设计与实战应用
HTTP状态码是服务器响应请求的3位数字代码,分为1xx(信息)、2xx(成功)、3xx(重定向)、4xx(客户端错误)、5xx(服务器错误)。业务状态码则用于描述具体业务逻辑结果,常在响应体中返回。二者在前后端交互中有不同用途和处理方式。本文还介绍了如何在Django项目中设计并使用业务状态码。
828 0
|
JSON 安全 网络协议
HTTP/HTTPS协议(请求响应模型、状态码)
本文简要介绍了HTTP与HTTPS协议的基础知识。HTTP是一种无状态的超文本传输协议,基于TCP/IP,常用80端口,通过请求-响应模型实现客户端与服务器间的通信;HTTPS为HTTP的安全版本,基于SSL/TLS加密技术,使用443端口,确保数据传输的安全性。文中还详细描述了HTTP请求方法(如GET、POST)、请求与响应头字段、状态码分类及意义,并对比了两者在请求-响应模型中的安全性差异。
1196 20
|
JSON API 网络架构
HTTP常见的请求方法、响应状态码、接口规范介绍
本文详细介绍了HTTP常见的请求方法、响应状态码和接口规范。通过理解和掌握这些内容,开发者可以更好地设计和实现W
2595 83
【网路原理】——HTTP状态码和Postman使用
状态码(200,404,403,405,500,504,302),Postman下载和使用构造请求
|
缓存 前端开发 安全
前端开发者必备:HTTP状态码含义与用途解析,常见错误码产生原因及解决策略
前端开发者必备:HTTP状态码含义与用途解析,常见错误码产生原因及解决策略
4942 0
|
缓存 网络协议 JavaScript
【HTTP】构造HTTP请求和状态码
【HTTP】构造HTTP请求和状态码
366 1
【HTTP】构造HTTP请求和状态码
|
开发者
深入了解HTTP状态码
深入了解HTTP状态码
727 64
|
缓存 应用服务中间件 nginx
你知道 HTTP 的状态码都有哪些吗?它们的含义又是什么呢?
你知道 HTTP 的状态码都有哪些吗?它们的含义又是什么呢?
2236 9

热门文章

最新文章