一次性搞懂常见响应状态码

581 阅读3分钟

我们在开发过程中经常会看到404 200等状态码,今天一次性搞懂这些状态码的含义以及区别叭。

前言

响应状态码(Status Code):一个十进制数字。

目前RFC标准把状态码分成5类,用数字的第一位表示分类,范围基本上在100~599之间。 图片来源 image.png

接下来我们一类一类来看。

1XX

提示信息,表示目前是协议处理的中间状态,还需要后续的操作。

常见状态码有:

101 Switching Protocols”:表示在HTTP协议的基础上改成其他的协议继续通信,比如WebSocket。

2XX

成功消息,表示请求已经收到并被正常处理。比如200,204

常见状态码有:

“200 OK”:是我们最常见的成功状态码了,表示一切正常。

“204 No Content”:也是表示成功的意思,但是响应头后面没有body数据。

“206 Partial Content”:是HTTP分块下载或断点续传的基础。常常伴随着头字段“Content-Range”。

3XX

重定向,表示资源位置发生移动,需要客户端重新发送请求。

常见状态码有:

“301 Moved Permanently”: 俗称永久重定向,表示此次请求的资源已经不存在了,需要改用新的URI再次访问。

“302 Found”: 俗称临时重定向,表示此次请求的资源还在,但需要暂时用另一个URI来访问。

“304 Not Modified”:表示重定向已经缓存到的文件,即“缓存重定向”。

4XX

客户端错误,表示请求报文有误,服务器无法处理请求,比如常见的403和404。

常见状态码有: “400 Bad Request”:通用错误码,表示请求的报文有错误,但没有具体说是数据格式错误还是URI有问题,所以应该尽量避免返回400。

“403 Forbidden”:表示服务器禁止访问资源。原因可能是没有权限、信息敏感或者法律禁止。

“404 Not Found”:这个比较熟悉了,表示资源在本服务器中未找到。

5XX

服务器错误,表示服务器在处理请求时内部发生了错误。

常见状态码有:

“500 Internal Server Error”:也是通用错误码,虽然不利于调试,但是能够防止黑客的窥探或者分析。

“501 Not Implemented”:表示客户端请求的功能还不支持。类似那种“即将开业,敬请期待”。

“502 Bad Gateway”:通常是服务器作为网关或者代理的时候返回的错误码,表示服务器自身工作正常,访问后端服务器时发生了错误,但也无法确定具体原因。

“503 Service Unavailable”:表示服务器很忙,暂时无法响应服务,所以在503响应中通常有一个"Retry-After"字段,指示客户端可以在多久之后再次尝试发送请求。

结语

以上就是常见的五类状态码啦,希望能对你有一点帮助~~