HTTP协议中,以4开头的状态码表示客户端错误。这些状态码指示客户端似乎出现了某种错误,导致服务器无法处理请求。
以下是一些常见的4xx状态码及其功能:
400 Bad Request (错误请求):
表示服务器无法理解客户端发送的请求。这可能是因为请求中包含语法错误、无效的请求消息、或者无法执行请求。
401 Unauthorized (未授权):
表示客户端请求未经授权。需要提供有效的身份验证信息,通常是通过 HTTP Basic 认证或其他身份验证机制。
402 Payment Required (需要付款):
此状态码保留,目前尚未广泛使用。它是为了将来可能的需求而保留的。
403 Forbidden (禁止):
表示服务器理解客户端的请求,但拒绝执行。通常是因为客户端没有足够的权限来访问请求的资源。
404 Not Found (未找到):
表示服务器无法找到请求的资源。这可能是因为 URL 错误、资源被删除或者移动,或者服务器上没有该资源。
405 Method Not Allowed (不允许使用该方法):
表示服务器禁止使用客户端提交的请求方法。例如,服务器可能只允许使用 GET 请求,而客户端使用了 POST 请求。
406 Not Acceptable (不可接受):
表示服务器无法根据客户端请求的内容特性完成请求。例如,客户端请求的资源的 MIME 类型不被服务器支持。
407 Proxy Authentication Required (要求代理身份验证):
类似于 401,但要求客户端在代理服务器上进行身份验证。
408 Request Timeout (请求超时):
表示客户端请求服务器的时间超过了服务器准备等待的时间。
409 Conflict (冲突):
表示由于请求的资源状态冲突,导致无法完成请求。
410 Gone (已删除):
表示请求的资源已经不存在,并且不再可用。
411 Length Required (需要有效长度):
表示服务器要求在请求中包含 Content-Length 头,以便能够处理请求。
412 Precondition Failed (先决条件失败):
表示服务器在执行请求时,发现请求的先决条件不满足。
413 Payload Too Large (请求实体过大):
表示由于请求的实体过大,服务器拒绝处理请求。
414 URI Too Long (URI过长):
表示请求的 URI 长度超过了服务器能够处理的范围。
415 Unsupported Media Type (不支持的媒体类型):
表示服务器无法处理请求使用的媒体类型。
416 Range Not Satisfiable (范围不符合要求):
表示服务器不能满足请求中的 Range 头的要求。
417 Expectation Failed (预期失败):
表示服务器未能满足 Expect 头中给出的期望值。
这些状态码提供了对客户端错误的不同诊断,使得客户端能够根据接收到的状态码采取适当的行动。