HTTP状态码

简介: HTTP状态码

状态码的职责是当客户端向服务端发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。

状态码类别

类别 原因短语
1xx Informational(信息性状态码) 接收的请求正在处理
2xx Success(成功状态码) 请求正常处理完毕
3xx Redirection(重定向) 需要进行附加操作以完成请求
4xx Client Error(客户端错误状态码) 服务器无法处理请求
5xx Server Error(服务端错误状态码) 服务器处理请求出错

HTTP状态码多达40多种,这里只说一下具有代表性的状态码。

分类 状态码 英文 描述
2XX 200 OK 请求处理成功
204 No Content 请求处理成功,但没有资源可返回
206 Partial Content 进行了范围请求,服务器返回了指定范围的内容
3XX 301 Moved Permanently 永久性重定向
302 Found 临时性重定向
303 See Other 请求对应的资源存在另一个URI,应使用GET方法定向获取请求的资源
304 Not Modified 服务器端资源未改变,可以直接使用客户端未过期的缓存
4XX 400 Bad Request 错误的请求
401 Unauthorized 需要HTTP认证
403 Forbidden 请求被服务端拒绝了,比如请求无权限
404 Not Found 服务器上没有请求的资源
5XX 500 Internal Server Error 服务端在执行请求时发生了错误,也有可能是Web应用存在的bug或某些临时的故障
503 Service Unavaliable 服务端暂时处于超负载货正在进行停机维修,暂时无法处理请求

301、302、303的异同

  • 301:永久性重定向。请求的资源已被永久性分配了新的URI
  • 302:临时性重定向。请求的资源已被临时性分配了新的URI
  • 303:请求的资源存在着另一个URI,应使用GET方法定向获取请求的资源。

303状态码和302状态码有着相同的功能,但是303状态码明确表示客户端应当采用GET方法获取资源。

举个🌰:

当使用POST方法访问CGI程序,其执行后的处理结果是希望客户端能以GET方法重定向到另一个URI上去时,返回303状态码。 虽然302 Found状态码也可以实现相同的功能,但这里使用303状态码是最理想的。

另外,当301、302、303响应状态码返回时,几乎所有的浏览器都会把POST改成GET,并删除请求报文内的主体,之后请求会自动再次发送。

301、302标准是禁止将POST方法改变成GET方法的,但实际使用时大家都会这么做。



相关文章
|
2月前
|
Shell
HTTP状态码解析:在Haskell中判断响应成功与否
HTTP状态码解析:在Haskell中判断响应成功与否
|
1月前
|
开发者
深入了解HTTP状态码
深入了解HTTP状态码
171 64
|
3月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之遇到报错:HTTP状态码400,该如何处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
29天前
|
缓存 网络协议 JavaScript
【HTTP】构造HTTP请求和状态码
【HTTP】构造HTTP请求和状态码
49 1
【HTTP】构造HTTP请求和状态码
|
1月前
|
缓存 应用服务中间件 nginx
你知道 HTTP 的状态码都有哪些吗?它们的含义又是什么呢?
你知道 HTTP 的状态码都有哪些吗?它们的含义又是什么呢?
45 8
|
19天前
|
缓存 前端开发 安全
前端开发者必备:HTTP状态码含义与用途解析,常见错误码产生原因及解决策略
前端开发者必备:HTTP状态码含义与用途解析,常见错误码产生原因及解决策略
77 0
|
2月前
|
开发者
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
30 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代码示例。