431

Request Header Fields Too Large

官方
请求标头过大

431状态代码的一般解释

HTTP 状态代码 431 Request Header Fields Too Large 表示服务器拒绝了客户端的请求,原因是请求的头部字段过大。如果请求头中包含异常大量的数据,例如过长的 cookie、身份验证标记或其他元数据,就会出现这种情况。服务器通常无法处理这些数据,因为这些数据超出了它所定义的限制。该错误属于客户端错误(400-499),表明客户端必须调整请求后才能重新发送。一种可能的解决办法是减少标头数据的大小,例如删除不必要的 cookie 或压缩数据。对于开发人员和管理员来说,这个状态代码是一个有用的提示,表明要么应该优化请求,要么应该调整服务器配置以避免不必要的阻塞。虽然错误发生在客户端,但仍会严重干扰客户端和服务器之间的通信。

HTTP状态代码431的规范

431 Request Header Fields Too Large状态代码表示服务器不愿意处理该请求,因为其头字段过大。

在减少请求头字段的大小之后,可以重新提交该请求。

当请求头字段的总和过大时,以及当单个头字段出现问题时,都可以使用该代码。

例如:


HTTP/1.1 431 Request Header Fields Too Large Request Header Fields Too Large
Content-Type: text/html

具有431 Request Header Fields Too Large状态代码的响应不应该被缓存存储。

来源/引自: 431 Request Header Fields Too Large HTTP状态代码由5的RFC6585部分指定。

如何用PHP抛出一个431状态代码?

要在一个网页上抛出HTTP状态代码431,可以使用PHP函数http_response_code。其语法如下: http_response_code(431) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

测试431 HTTP状态代码

为了能够在客户端显示HTTP状态代码(本例中为431 Request Header Fields Too Large)和其他信息,必须用F12打开开发控制台。然后导航到 "网络 "标签。现在可以打开页面,网站(例如index.php)应该在网络标签中可见。这必须被选中,然后必须选择Herder部分。然后,用户将看到以下结果:

状态代码 431 Request Header Fields Too Large
概述
URL: https://http-statuscode.com/errorCodeExample.php?code=431
状况: 431 Request Header Fields Too Large
那些: Network
IP地址: XX.XX.XX.XX
状态代码 431 Request Header Fields Too Large

如何为状态代码431创建你自己的错误页面

使用 "Apache "和 "NGINX "网络服务器,创建你自己的431 Request Header Fields Too Large错误页面是相对容易的。

Apache Webserver

网络服务器 "Apache "是互联网上最常见的网络服务器之一。要在 "Apache "中创建自己的431 Request Header Fields Too Large错误页面,必须在以下文件中做如下修改。

File: .htaccess
ErrorDocument 431 /errors/431.html

NGINX Webserver

与网络服务器 "Apache "类似,"NGINX "也在互联网上广泛使用。要在 "NGINX "中创建自己的431 Request Header Fields Too Large错误页面,必须在以下文件中做如下修改。

File: sites-enabled/default
error_page 431 /431.html;
location = /431.html {
    root /usr/share/nginx/html;
    internal;
}

431状态代码的浏览器兼容性

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

编程语言中的常量

HttpStatusCode.RequestHeaderFieldsTooLarge
http.StatusRequestHeaderFieldsTooLarge
Response::HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE
:request_header_fields_too_large
作者: Tony Brüser
作者: Tony Brüser

Tony Brüser 是一位热衷于 HTTP 状态代码的网络开发人员。

LinkedInGitHub