❤HTTP状态码status code详解
http状态码可以很方便的了解到请求的所在状态,所以很有必要总结一下
1、认识
什么是HTTP状态码
HTTP状态码的作用是:web服务器用来告诉客户端,发生了什么事。
状态码位于HTTP Response 的第一行中,会返回一个”三位数字的状态码“和一个“状态消息”。 ”三位数字的状态码“便于程序进行处理, “状态消息”更便于人理解。
2、HTTP状态码分类
分类 | 含义 | 补充 |
---|---|---|
1XX | 信息性状态码 | 状态码是HTTP 1.1引入的。 (没有遇到过)=> 请求已被接受,需要进一步处理才能完成 |
2XX | 成功状态码 | 客户端发起请求时,服务器有一组用来表示成功的状态码,分别对应于不同类型的请求 |
3XX | 重定向(Redirection) | 需要进一步的操作以完成请求 |
4XX | 客户端错误状态码 | 请求包含语法错误或无法完成 |
5XX | 服务器端错误状态码 | 服务器在处理请求的过程中发生了错误 |
3、HTTP状态码详细
开头1
状态码 | 信息 | 含义 | 补充 |
---|---|---|---|
100 | Continue | 服务器已经接收到请求头(请求的起始部分),并且客户端应当继续发送请求体。 | – |
101 | SwitchingProtocols (切换协议) | 服务器正根据客户端的指示将协议切换成Update Header列出的协议 | 101状态码表示服务器已经理解了客户端的请求,并且将通过升级协议的方式来完成请求。这通常用于HTTP/1.1版本的升级到WebSocket协议。在收到101状态码后,客户端必须使用升级后的协议进行通信。 |
开头2
用来表示成功的状态码,分别对应于不同类型的请求
状态码 | 信息 | 含义 | 补充 |
---|---|---|---|
200 | OK | 请求已成功,请求所希望的响应头或数据体将随此响应返回 | – |
201 | Created | 请求已经被实现,新的资源已经依据请求的需要而建立 | – |
202 | Accepted | 服务器已接受请求,但尚未处理完成 | – |
203 | Non-Authoritative Information | 服务器已成功处理了请求,但返回的信息可能来自另一来源。 | – |
204 | No Content | 服务器成功处理了请求,但没有返回任何内容。 | – |
205 | Reset Content | 服务器成功处理了请求,但没有返回任何内容。与204响应不同,此响应要求请求者重置文档视图。 | – |
206 | Partial Content | 服务器成功处理了部分GET请求。 | – |
开头3
重定向状态码
状态码 | 信息 | 含义 | 补充 |
---|---|---|---|
301 | 永久重定向 | 301状态码表示永久重定向,表示请求的资源已经被永久移动到新的位置,搜索引擎会将旧的URL替换为新的URL,同时浏览器会自动跳转到新的URL。这个状态码告诉客户端应该使用新的URL来访问资源,而不是旧的URL。 | – |
302 | 临时重定向(Found) | 服务器将请求的资源临时移动到一个新的位置,并返回一个临时重定向的响应。浏览器会自动跳转到新的位置,用户会看到新的页面。 | 这种状态码通常用于网站重构或者临时更改网页地址时使用。 |
开头4
客户端错误状态码
状态码 | 信息 | 含义 | 补充 |
---|---|---|---|
1. 400 | Bad Request | 客户端请求无效,服务器无法理解。常见的原因包括请求参数格式错误、参数缺失等。 | - |
2. 401 | Unauthorized | 未授权,客户端没有提供认证信息或者认证信息无效。常见的情况包括需要登录但未登录、登录信息过期等。 | |
3. 403 | Forbidden | 禁止访问,客户端没有访问权限。常见的原因包括权限不足、资源被禁止访问等。 | - |
4. 404 | Not Found | 未找到,请求的资源不存在。常见的情况包括请求的 URL 错误、资源被删除等。 | - |
开头5
服务器端错误状态码
状态码 | 信息 | 含义 | 补充 |
---|---|---|---|
500 | Internal Server Error: | 服务器内部错误,无法完成请求。 | - |
501 | Not Implemented: | 服务器不支持请求的功能或请求的方法。 | - |
502 | Bad Gateway: | 服务器作为网关或代理,无法从上游服务器收到响应。 | - |
503 | Service Unavailable: | 服务器当前无法处理请求,可能是由于维护或过载。 | - |
504 | Gateway Timeout: | 服务器作为网关或代理,未及时从上游服务器收到响应。 | - |
505 | HTTP Version Not Supported: | 服务器不支持请求中所使用的 HTTP 协议版本。 | - |
[持续完善中....]
4、原因及解决方法
502 出现原因以及解决方法:
出现 502 的原因是:对用户访问请求的响应超时造成的
解决办法:
1.提高 Web 服务器的响应速度,也即减少内部的调用关系,可以把需要的页面、素材或数据,缓存在内存中,可以是专门的缓存服务器 ,也可以 Web 服务器自身的缓存,提高响应速度;
2.网络带宽的问题,则对传输的数据包进行压缩处理,或者向 IDC 申请增加带宽;
3.属于内部网络的故障或设置问题,也即内部网络拥塞,可能内部存在大量的数据调用或交互造成的,则需要优化内部网络传输或协议;
4.数据库的数据读取造成前端服务器 ,响应用户的请求变慢,那么必须提高数据库的处理能力,若是只读业务可以增加数据缓存的模式 或者增加数据库备机,分散读压力;
若是写的压力,则可以考虑延迟写的模式,想这个时候做数据写分散肯定来不及