HTTP 响应状态码

·  阅读 405
HTTP 响应状态码

客户端发出请求后,需要获得反馈形成一个请求闭环。我们对反馈的结果加以分类,用状态码来标记。这就是响应状态码。

到今天为止,HTTP最常用的网络协议版本仍然是HTTP/1.1,它在1999年发布的RFC2616 Status-Line中列举了大约40种常见的响应状态码:

image.png

响应状态码的定义是开放的,允许自行扩展。

常用响应状态码

响应状态码是由3位十进制的数字组成,分为五类,分别是以1到5开头,我们列举常用来说明:

image.png

1xx

1xx类是提示信息,表示的是协议处理的中间状态,还有后续操作,这个在实际开发中可能比较少见。

2xx

2xx这个是最常见的之一,表示服务端成功响应了客户端的请求,这也是客户端最希望看到的结果。

200 OK:表示请求一切正常,有正常的返回数据。

204 Not Content:也是一种正常状态,和200 OK类似,只是响应头中没有body数据。

'206 Partial Content':是HTTP分块下载和断点续传的基础。它其实也表示请求的正常状态,只是响应的body数据是整块数据的片段。它一般有伴随着头字段Content-Range返回,如:

Content-Range: bytes 0-99/2000
复制代码

含义是本次请求共返回了2000个字节中的前100个。

3xx

3xx表示的是客户端的请求资源发生了变动,需要通过重定向来找到最新的资源。比较常见的状态码是301和302,它们虽然都是重定向,但也有区别:

301 Moved Permanently:表示的是永久重定向,资源已经不存在了,以后都需要获取新的资源。

302 Found:临时性的,可能原资源服务器暂时需要维护。

4xx

4xx表示的是客户端发送的请求报文有错误,服务端无法处理请求。算是一类错误码。

400 Bad Request:是一个笼统的错误码,具体原因不清楚,没有明确返回。

403 Forbidden:是服务器禁止客户端请求当前资源。

404 Not Found:这个很常见,表示客户端请求的资源在服务器不存在。

5xx

5xx是服务器错误,客户端请求报文没问题,服务器内部出错了。常见状态码有:

500 Internal Server Error:这也是是错误的通用返回错误码,具体错误未知。

501 Not Implemented:功能未实现。

502 Bad Gateway:服务器作为网关或者代理时出现的错误,服务器本身服务正常,但访问的后端服务器发生了错误。

503 Service Unavailable:表示当前服务器很忙,暂时无法响应请求。

参考

MDN文档:HTTP 响应状态码

分类:
前端
标签:
收藏成功!
已添加到「」, 点击更改