推荐一首歌
非常喜欢前奏
1:状态码的作用?
- 职责是当客户端发起请求时候,描述请求返回结果。根据状态码,客户端可以知道服务端是正确处理了请求,还是返回了错误。
2:状态码的分类
- 1XX(信息性状态) 接受的请求正在处理(见到的很少)
- 2XX(成功状态) 请求正常处理
- 3XX(重定向) 需要进行附加操作完成请求
- 4XX(客户端错误) 服务器无法处理请求
- 5XX(服务端错误) 服务器处理请求失败
3:常用状态码讲解
- 200 服务端成功处理客户端请求
- 204 服务端成功处理客户端请求,但是没有任何返回(表现在浏览器上就是,不管是form还是a标签。当返回 204 时候,页面都会不会进行任何跳转)
- 206 客户端进行了 范围请求( Range ) 并被成功处理
- 301 永久重定向
- 302 临时重定向,网站中大量的 302 会被认为是恶意网站,会被搜索引擎降权处理,虽然 302 标准禁止从 POST 变为 GET ,但是实际使用时,大家并不准守。
- 303 和 302 有着相同的功能,但是 303 明确了应当使用 GET 方法来获取资源。
- 304
- 307 和 302 有着相同的功能,但是会准守 不会从 POST 变为 GET 的标准,但是 对于处理响应,每个浏览器都有不同的表现。
PS:4XX 错误,客户端是问题所在。
- 400 表示客户端请求报文存在错误,比如后端需要的是 JSON 类型。前台却传了一个 XML ,参数不一致等等。
- 401 未授权,也就是没有权限。
- 403 拒绝访问,很多种情况都会出现这个问题。具体原因可以写在对应的实体中
- 404 资源无法找到
- 405 方法不被允许
PS:5XX 错误,服务端是问题所在
- 500 服务器内部错误(这个描述很笼统,具体的问题还时需要一步步排查来看)
- 502 代码问题。产生的问题也有很多,多并发等。
- 503 表明该站点可能目前正在维护/超负荷等等,目前无法处理请求,过一段时间再看
- 504 网关超时。nginx问题