HTTP 状态码

HTTP状态码(HTTP Status Code)是用来表示HTTP请求响应状态的3位数字代码。

有五类状态码:

1xx 消息

表示请求已被接受,需要继续处理。这类响应是临时响应。

100 continue

表示服务器已经接收到请求头,并且客户端应继续发送请求主体。

101 Switching Protocols

服务器已经理解了客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。

102 processing

WebDAV请求可能包含许多涉及文件操作的子请求,需要很长时间才能完成请求。

103 Early Hints

用来在最终的HTTP消息之前返回一些响应头。

2xx 成功

200 OK

请求成功。

201 Created

该请求已成功,并因此创建了一些新的资源。这通常是POST请求,或者某些PUT请求之后返回的响应。

202 Accepted

请求已经收到,但还未响应,没有结果。最终该请求可能会也可能不会被执行。

203 Non-Authoritative Information

服务器是一个转换代理服务器(transforming proxy,例如网络加速器),以200 OK状态码为起源,但回应了原始响应的修改版本。

204 No Content

服务器成功处理了请求,没有返回任何内容。

206 Partial Content

服务器已经成功处理了部分GET请求,类似于FlashGet或者迅雷这类的HTTP下载工具都是使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载。

3xx 重定向

此类状态码代表客户端需要采取进一步的操作才能完成请求。

301 Moved Permanently

被请求的资源已永久移动到新位置。

302 Found

要求客户端执行临时重定向。

303 See Other

对应当前请求的响应可以在另一个URI上被找到,当响应于POST(或PUT / DELETE)接收到响应时,客户端应该假定服务器已经收到数据,并且应该使用单独的GET消息发出重定向。

304 Not Modified

表示资源在由请求头中的If-Modified-SinceIf-None-Match参数指定的这一版本之后,未曾被修改。在这种情况下,由于客户端仍然具有以前下载的副本,因此不需要重新传输资源。

305 Use Proxy

被请求的资源必须通过指定的代理才能被访问。

4xx 客户端错误

这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。

400 Bad Request

由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。

401 Unauthorized

“未认证”,即用户没有必要的凭据。该状态码表示当前请求需要用户验证。

403 Forbidden

服务器已经理解请求,但是拒绝执行它。

404 Not Found

请求失败,请求所希望得到的资源未被在服务器上发现,但允许用户的后续请求。

405 Method Not Allowed

请求行中指定的请求方法不能被用于请求相应的资源。该响应必须返回一个Allow头信息用以表示出当前资源能够接受的请求方法的列表。例如,需要通过POST呈现数据的表单上的GET请求,或只读资源上的PUT请求。

鉴于PUT,DELETE方法会对服务器上的资源进行写操作,因而绝大部分的网页服务器都不支持或者在默认配置下不允许上述请求方法,对于此类请求均会返回405错误。

415 Unsupported Media Type

对于当前请求的方法和所请求的资源,请求中提交的互联网媒体类型并不是服务器中所支持的格式,因此请求被拒绝。例如,客户端将图像上传格式为svg,但服务器要求图像使用上传格式为jpg

429 Too Many Requests

用户在给定的时间内发送了太多的请求。旨在用于网络限速。

5xx 服务器错误

表示服务端发生了错误。

500 Internal Server Error

服务端发生了错误。

502 Bad Gateway

作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

参考

完整HTTP状态码参考 维基百科 - HTTP状态码

Author: kpt

Permalink: http://kpt.ink/2021/10/11/HTTP-Status-Code/

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。