HTTP 状态码详解:从 1xx 到 5xx,全面了解常见错误代码
HTTP 状态码详解:从 1xx 到 5xx,全面了解常见错误代码
HTTP 状态码是用来指示网页服务器响应请求结果的代码,它包含了各种信息,例如请求是否成功,是否需要重定向,以及出现什么错误等。理解 HTTP 状态码对于理解网页请求和响应背后的机制非常重要,可以帮助你更好地进行网页开发和调试。
1xx(信息性状态码)
1xx 状态码表示服务器已经接收到请求,需要客户端继续操作。
-
100 Continue: 客户端应当继续发送请求。这个临时响应是用来通知客户端它的请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。
-
101 Switching Protocols: 服务器已经理解了客户端的请求,并将通过 Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到 Upgrade 消息头中定义的那些协议。
2xx(成功状态码)
2xx 状态码表示服务器成功接收、理解并处理了客户端的请求。
-
200 OK: 请求已成功,请求所希望的响应头或数据体将随此响应返回。
-
201 Created: 请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随 Location 头信息返回。假如需要的资源无法及时建立的话,应当返回 '202 Accepted'。
-
202 Accepted: 服务器已接受请求,但尚未处理。没有返回实体的主体部分。在已创建请求的资源其被接受之前,不允许对其进行修改。
-
204 No Content: 服务器成功处理了请求,但没有返回任何内容。在响应报文中,不允许包含实体的主体部分。
-
205 Reset Content: 服务器成功处理了请求,且没有返回任何内容。但是与 204 响应不同,返回此状态码的响应要求请求者重置文档视图。
-
206 Partial Content: 服务器成功处理了部分 GET 请求。
3xx(重定向状态码)
3xx 状态码要求客户端执行某些操作才能完成请求。
-
300 Multiple Choices: 被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动程序可以自行决定访问哪一项。用户或浏览器能够自行选择一个首选的地址进行重定向。
-
301 Moved Permanently: 请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
-
302 Found: 请求的网页已临时移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
-
303 See Other: 对应当前请求的响应可以在另一个 URI 上被找到,而且客户端应当采用 GET 的方式访问那个资源。这个方法存在的目的主要是为了允许由脚本激活的 POST 请求输出重定向到一个新的资源。
-
304 Not Modified: 如果客户端发送了一个带条件的 GET 请求并且该请求已被允许,则服务器可以返回这个响应。在这种情况下,没有响应的实体部分,因此这个响应比较轻量级。
-
307 Temporary Redirect: 请求的资源临时从不同的 URI 响应请求。由于存在某些原因,例如服务器维护或者过载,这个 URI MAY 不同于之前的 URI。重定向应该是一个 GET 请求。
4xx(客户端错误状态码)
4xx 状态码表示客户端看起来可能发生了错误,妨碍了服务器的处理。
-
400 Bad Request: 服务器不理解请求的语法。
-
401 Unauthorized: 请求要求身份验证。对于需要登录的网页,服务器可能返回此响应。
-
403 Forbidden: 服务器拒绝请求。
-
404 Not Found: 服务器找不到请求的网页。
-
405 Method Not Allowed: 禁用请求中指定的方法。
-
406 Not Acceptable: 无法使用请求的内容特性响应请求的网页。
-
407 Proxy Authentication Required: 此状态码与 401(未授权)类似,但指定请求者应当授权使用代理。
-
408 Request Timeout: 服务器等待客户端发送的请求时间过长,超时。
-
409 Conflict: 服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。
-
410 Gone: 如果请求的资源已永久删除,服务器就会返回此响应。
-
411 Length Required: 服务器不接受不含有效内容长度标头字段的请求。
-
412 Precondition Failed: 服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个。
-
413 Payload Too Large: 服务器拒绝处理请求,因为请求实体过大,超出服务器的处理能力。
-
414 URI Too Long: 请求的 URI(通常为网址)过长,服务器无法处理。
-
415 Unsupported Media Type: 请求的格式不受请求页面的支持。
-
416 Range Not Satisfiable: 如果请求中包含了 Range 请求头,并且 Range 中指定的任何数据范围都与当前资源的可用范围不重合,同时请求中又没有定义 If-Range 请求头,那么服务器就应当返回 416 状态码。
-
417 Expectation Failed: 服务器无法满足 Expect 请求头字段指定的期望值。
5xx(服务器错误状态码)
5xx 状态码表示服务器在处理请求的过程中出错。
-
500 Internal Server Error: 服务器内部错误,无法完成请求。
-
501 Not Implemented: 服务器不支持请求的功能,无法完成请求。
-
502 Bad Gateway: 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。
-
503 Service Unavailable: 由于临时的服务器维护或者过载,服务器当前无法处理请求。
-
504 Gateway Timeout: 充当网关或代理的服务器,未及时从远端服务器获取请求。
-
505 HTTP Version Not Supported: 服务器不支持请求的 HTTP 协议的版本,无法完成处理。
通过理解这些状态码,你可以更好地分析网页请求和响应,定位问题,并进行相应的处理。
原文地址: https://www.cveoy.top/t/topic/nrTX 著作权归作者所有。请勿转载和采集!