4xx 客户端错误

概述

4xx 代码通常指明客户方面出现了问题。也可能是网络问题。  

  • 对任何请求方法,都有可能遇到4xx错误
  • 源站服务器应包括一条错误信息以及与User-agent关连的解释,对于 HEAD 请求除外

Cloudflare 将这类错误从源站转交给您的访问者

400 Bad Request  (RFC7231)

服务器无法处理请求,由于某些内容被认为是客户端错误(例如,语法错误、无效的请求消息框架或异常的请求路径)。

401 Unauthorized (RFC 7235)

未使用正确的验证信息发送请求

  • 服务器必须根据第 4.1 节 WWW-Authenticate 头字段的形式质询用户信息
  • 客户端可以用相同凭据发送第二个请求,如果质询与之前的相同,则服务器将提供实体以帮助客户端找到所需的验证信息。

402 Payment Required (RFC7231)

尚未按照 RFC 标准实施,但保留供将来使用

403 Forbidden (RFC7231)

拒绝请求。服务器明确告诉客户端,该请求被禁止。这可能不仅是因为凭据无效,而且可能是由于服务器的原因。

  • 服务器可能包含有效负载中未经授权的请求
  • 客户不应再次重复相同的请求
  • 如果希望隐藏资源,服务器也可以选择使用 403

如果请求触发了 Cloudflare 上的域名启用的 WAF 规则,Cloudflare 也将发送 403 响应。阅读更多内容: Web 应用程序防火墙(WAF)的作用是什么?

Cloudflare 还可能对任何未被 SSL 证书涵盖的子域/域的请求发出403响应。

404 Not Found (RFC7231)

源站服务器无法或不愿找到所请求的资源。这通常意味着主机服务器无法找到资源。要发送此问题的永久错误信息,应使用 410 错误代码。

网站所有者通常会自定义产生该错误时的错误页面。例如,在 Apache 中实施自定义 404 页面

Cloudflare 不会主动生成 404错误,我们只代理来自源站的错误响应。在您开启的 Cloudflare 网站发现 404 时,应该联系您的主机提供商寻求帮助。

 

405 Method Not Allowed (RFC7231)

源站具有所请求的资源,但不支持用户使用的请求方法。

  • 源站服务器必须提供 Allows 头字段以及该资源支持的目标列表。

例如资源可以设置为不接受 POST只接受 GET

406 Not Acceptable (RFC7231)

请求的资源的内容特性无法满足请求头中的条件(例如,通过 Accept-CharsetAccept-Language 标头)

此状态代码可以通过提供其他或次要合适的实体来解决。

407 Authentication Required  (RFC 7235)

客户端未随着请求一起发送所需的身份验证。

408 Request Timeout  (RFC7231)

未在所需的时间内收到完整的请求。

  • 表示服务器不希望继续等待。
  • 较少使用,因为服务器通常会直接关闭连接。

 

409 Conflict (RFC7231)

由于与资源的当前状态发生冲突,请求未完成。通常发生在 PUT 请求中,其中多个客户端正在尝试编辑相同的资源。

  • 服务器生成包含足够信息的负载,以便客户端识别冲突来源。
  • 客户端可以而且应该再次重试请求

Cloudflare 将生成1001 错误:DNS 解析错误并发送 409 响应

410 Gone (RFC7231)

所请求的资源在源站永久遗失。

  • 服务器建议应该删除引用资源的链接。
  • 服务器无需使用410来代替 404 响应,也不是一定要进行此响应。

411 Length Required (RFC7231)

客户端未在HTTP头字段中定义请求的 Content-Length ,这是获取资源所必需的。

  • 客户端可以添加头字段后重新发送请求。

412 Precondition Failed  (RFC 7232)

服务器拒绝请求,因为资源无法满足客户端指定的条件。

例如,版本控制,客户端正在修改一个现有资源,因此设置 If-Unmodified-Since 头字段,以匹配客户端下载资源并开始编辑的日期。如果在此日期之后以及上传编辑之前编辑了资源(可能是其他客户),则会生成此响应,因为上次编辑的日期将在 If-Unmodified-Since 中根据客户端日期生成。

Cloudflare 将发送此响应。详细信息请参阅:ETag 头字段

413 Payload Too Large  (RFC7231)

服务器拒绝处理请求,因为从客户端发送的负载大于服务器希望接受的有效负载。服务器可选择关闭连接。

  • 如果此拒绝只会暂时发生,那么服务器应发送 Retry-After 头字段,以指定客户端何时应再次尝试发出请求。

414 URI Too Long (RFC7231)

服务器拒绝,因为 URI 太长而无法处理。例如,如果客户端在 POST 之后尝试 GET 请求并使用异常长的 URI,则可能产生安全风险并生成 414。

Cloudflare 将对长度超过 32KB 的 URI 生成此响应

415 Unsupported Media Type (RFC7231)

服务器拒绝处理当前负载的格式。识别和解决此问题的一种方法是查看客户端请求中发送的 Content-Type Content-Encoding 头字段。

417 Expectation Failed (RFC7231)

服务器未能满足客户请求的 Expect 标头中指定的要求。

429 Too Many Requests (RFC6585)

客户端在根据服务器指定的时间内发送了太多请求。429通常会在触发“Rate Limiting (速率限制)”时产生。服务器可以作出响应并提供信息,使请求者在特定时间段之后重试。

当请求被速率限制时,Cloudflare 将生成并发送此状态代码。如果您网站的访问者收到这些错误代码,您将能够在 Rate Limiting Analytics 中看到此信息。

451 Unavailable For Legal Reason (RFC7725)

由于法律原因,服务器无法提供资源。

通常,搜索引擎(例如 Google)和 ISP(例如 ATT)受此响应代码影响,而源站不受影响。

  • 响应会在响应正文中包括一条解释,其中包含法律要求的详细信息。

499 Client Close Request

Nginx 特定响应代码,表明当服务器仍在处理请求时,客户端主动关闭连接,使服务器无法返回状态代码。

  • 这项错误将被记录在 Enterprise Log Share 和企业客户的控制面板的status code analytics中。
Not finding what you need?

95% of questions can be answered using the search tool. This is the quickest way to get a response.

由 Zendesk 提供技术支持