HTTP状态代码400的规范
状态代码400 Bad Request表示服务器不能或不会处理该请求,因为客户端有错误(例如,不正确的请求语法、无效的请求信息框架或误导的请求路由)。
来源/引自: 400 Bad Request HTTP状态代码由6.5.1的RFC7231部分指定。
如何用PHP抛出一个400状态代码?
要在一个网页上抛出HTTP状态代码400,可以使用PHP函数http_response_code。其语法如下: http_response_code(400) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
测试400 HTTP状态代码
为了能够在客户端显示HTTP状态代码(本例中为400 Bad Request)和其他信息,必须用F12打开开发控制台。然后导航到 "网络 "标签。现在可以打开页面,网站(例如index.php)应该在网络标签中可见。这必须被选中,然后必须选择Herder部分。然后,用户将看到以下结果:
概述
URL: https://http-statuscode.com/errorCodeExample.php?code=400
状况: 400 Bad Request
那些: Network
IP地址: XX.XX.XX.XX
URL: https://http-statuscode.com/errorCodeExample.php?code=400
状况: 400 Bad Request
那些: Network
IP地址: XX.XX.XX.XX
如何为状态代码400创建你自己的错误页面
使用 "Apache "和 "NGINX "网络服务器,创建你自己的400 Bad Request错误页面是相对容易的。
Apache Webserver
网络服务器 "Apache "是互联网上最常见的网络服务器之一。要在 "Apache "中创建自己的400 Bad Request错误页面,必须在以下文件中做如下修改。
File: .htaccess
ErrorDocument 400 /errors/400.html
NGINX Webserver
与网络服务器 "Apache "类似,"NGINX "也在互联网上广泛使用。要在 "NGINX "中创建自己的400 Bad Request错误页面,必须在以下文件中做如下修改。
File: sites-enabled/default
error_page 400 /400.html;
location = /400.html {
root /usr/share/nginx/html;
internal;
}
location = /400.html {
root /usr/share/nginx/html;
internal;
}
400状态代码的浏览器兼容性
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.BadRequest
:not_modified
http.StatusBadRequest
response::HTTP_BAD_REQUEST
httplib.BAD_REQUEST
http.client.BAD_REQUEST
http.HTTPStatus.BAD_REQUEST
:bad_request
400状态代码的子状态代码
子状态代码纯粹是技术性的,不应该被发送给用户。例如,如果状态代码400.1被抛出,它可能被记录下来,但状态代码400将被发送给用户。:
400.1 | Invalid Destination Header HTTP IIS, 非官方的 |
400.2 | Invalid Depth Header HTTP IIS, 非官方的 |
400.3 | Invalid If Header HTTP ISS, 非官方的 |
400.4 | Invalid Overwrite Header HTTP ISS, 非官方的 |
400.5 | Invalid Translate Header HTTP ISS, 非官方的 |
400.6 | Invalid Request Body HTTP ISS, 非官方的 |
400.7 | Invalid Content Length 400, 非官方的 |
400.8 | Invalid Timeout HTTP ISS, 非官方的 |
400.9 | Invalid Lock Token HTTP IIS, 非官方的 |
400.10 | Invalid X-Forwarded-For (XFF) header HTTP ISS, 非官方的 |
400.11 | Invalid WebSocket request HTTP IIS, 非官方的 |
400.601 | Bad client request (ARR) HTTP ISS, 非官方的 |
400.602 | Invalid time format (ARR) HTTP IIS, 非官方的 |
400.603 | Parse range error (ARR) HTTP IIS, 非官方的 |
400.604 | Client gone (ARR) HTTP IIS, 非官方的 |
400.605 | Maximum number of forwards (ARR) HTTP IIS, 非官方的 |
400.606 | Asynchronous competition error (ARR) HTTP IIS, 非官方的 |