# 状态码
HTTP状态码是前端接触较多的部分,它负责表示客服端请求返回的结果,标记着服务端处理情况,甚至是错误情况
# HTTP 常见的状态码有哪些?
状态区间 | 具体含义 | 备注 |
---|---|---|
1XX | 信息性状态 | 接收的请求正在处理,是一种请求的中间状态 |
2XX | 成功 | 请求正常处理完毕 |
3XX | 重定向状态码 | 需要进行附加操作以完成请求| |
4XX | 客服端错误状态码 | 服务端无法处理请求| |
5XX | 服务端错误状态码 | 服务器处理请求出错 |
# 常见状态码
# 2XX 成功态
- 200:表示客户端发送的请求被服务端正确的处理了,如果是非
HEAD
请求,服务器返回的响应头都会有 body 数据。 - 204:该状态码代表服务器接收的请求已成功处理,但没有资源返回,一般只需要通知服务端(响应头没有
body
数据) - 206:表示进行了范围请求(部分请求),而服务端成功响应了请求,响应报文中包含由
Content-Range
指定范围的实体内容,常应用于 HTTP 分块下载或断点续传
# 3XX 重定向态
- 301(move permanent): 表示永久重定向,说明资源已经被分配的新的地址,请求的资源已经不存在了,需改用新的 URL 再次访问。(响应头Location首部字段 为新地址),如果保存了书签,但他被永久重定向了,书签会更新
- 302:临时重定向,这个资源暂时被修改了,未来不确定,所以不会更新书签
- 304 (Not Modified):不具有跳转的含义,表示资源未修改,重定向已存在的缓冲文件,也称缓存重定向,也就是告诉客户端可以继续使用缓存资源,用于缓存控制。
# 客户端错误
- 400(Bad Request):坏的请求,表示客户端请求的报文存在语法错误,但只是个笼统的错误。
- 401(unauthorized):未经授权的,该状态码,需要通过HTTP认证信息才行(xx认证)
- 403(Forbidden):表示,请求资源的访问被服务器拒绝了(存在未授权的问题?)
- 404(Not Found):表示请求的资源在服务器上不存在或未找到,所以无法提供给客户端。
# 服务器错误
5xx 类状态码表示客户端请求报文正确,但是服务器处理时内部发生了错误,属于服务器端的错误码。
- 500 (Internal Server Error):与 400 类型,是个笼统通用的错误码,服务器发生了什么错误,我们并不知道。
- 501 (Not Implemented)表示客户端请求的功能还不支持,类似“即将开业,敬请期待”的意思。
- 502 (Bad Gateway)通常是服务器作为网关或代理时返回的错误码,表示服务器自身工作正常,访问后端服务器发生了错误。
- 503 (Service Unavailable)表示服务器当前很忙,暂时无法响应客户端,类似“网络服务正忙,请稍后重试”的意思。可以通过写入
Retry-after
通知客户端此问题接触的时间。