HTTP状态码
是用以表示网页服务器超文本传输协议响应状态码的3位数字代码。
分类 | 含义 |
---|
1XX | 表示消息(不常用),这一类型的状态,表示请求已被接收,需要进行处理,这类响应是临时响应 ,只包含状态行和某些可选的响应头信息,并以空行结束 |
2XX | 表示成功。这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。 |
3XX | 表示重定向。这类状态码需要客户端采取进一步的操作才能完成请求,通常这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中说明。 |
4XX | 表示请求错误。这类的状态码代表客户端发生了错误,妨碍了服务器的处理。除非响应是一个HEAD请求,否则服务器就应该返回一个解释当期那错误状况的实体。以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法,浏览器应当向用户显示任何包含此类错误响应中的实体内容。 |
5XX | 表示服务器错误。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。除非这是一个HEAD请求,否则夫妻应当包含一个解释当前错误状态以及这个状况是临时的还是永久的解析信息实体,浏览器应当向用户展示任何当前响应中被包含的实体。 |
2开头的常用状态码
状态码 | 状态 | 描述 |
---|
200 | OK | 请求已成功,请求所希望的响应头或数据将随此响应返回 |
202 | Accepted | 已接收,已经接收请求,但未处理完成 |
206 | Partial Content | 部分内容,服务器成功处理了部分GET请求**【断电续传】** |
3开头的常用状态码
状态码 | 状态 | 描述 |
---|
301 | Moved Permanently | 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包含新的URI,浏览器会自动定向到新URI ,今后任何新的请求都应使用新的URI代替。 |
302 | Found | 临时移动,与301类似,但资源只是临时被移动 ,客户端应继续使用原有URI |
- 重定向: 从地址A跳转到地址B 。
- (百度百科请求的URL请求重新定到新的位置,页面重定向、域名重定向、路由重定向…等等)
- 301 很多时候域名换了,到期了不想续费,所以永久移动到新域名上。
- 302 就是临时跳转,最常见是登录的时候,点击登录如果校验成功,跳转到网站的首页。
4开头的常用状态码
服务器接收到了也完成了,但是跟你客户端预想不太一样。
状态码 | 状态 | 描述 |
---|
400 | Bad Request | 客户端请求的语法错误,服务器无法理解 |
401 | Unauthorized | 请求要求用户的身份认证 |
403 | Forbidden | 服务器理解请求客户的请求。但是拒绝执行此请求 |
404 | Not Found | 服务器无法根据客户端的请求找到资源(网页) |
- 403 表示资源不可用。服务器理解客户的请求,但拒绝处理它,
通常由于服务器上文件或目录的权限设置导致的WEB访问错误
5开头的常用状态码
指的是服务器的错误,客户端发送的请求是没问题的。
状态码 | 状态 | 描述 |
---|
500 | Internal Server Error | 服务器内部错误,无法完成请求 |
502 | Bad Gateway | 充当网关或代理的服务器,从远端服务器接收到一个无效的请求。 |
- 502有几种情况,一是配置问题服务器白名单无法进行上游服务通讯,二是请求过大超时。
- 502 可能是内部存在大量的数据调用或交互时,网页内容提供方的一个或两个服务器,由于性能缺陷或程序错误,无法正常运行,使得网页上的内容无法被传输到用户的浏览器上,所以性能越高的服务器越少502出现。
- 对于php中,造成502的原因常见的就是脚本执行超过timeout设置时间,或者timeout设置过大,导致php进程长时间不能被释放,没有空闲worker进程来接客。