错误 400:它是什么以及如何修复它
当 server 无法理解或处理你的请求时,就会发生 400 Bad Request 错误,因为它格式错误、不完整或不正确。与服务器端错误(如 500)不同,这个错误通常来自客户端——你的浏览器、设备或请求。
400 Bad Request 错误是什么意思?
当你访问一个网站时,你的浏览器会向 server 发送一个请求。如果请求格式不正确或包含无效信息,server 会拒绝它并返回:
400 – Bad Request
“我不明白你要我做什么。”
这是一个客户端错误,意味着在 server 甚至还没来得及处理请求之前,就已经出了问题。
Error 400 的常见原因
| 原因 | 描述 |
|---|---|
| 格式错误的 URL | 网页地址中的拼写错误、无效字符或结构不正确 |
| 损坏的 cookies | 存储在浏览器中的过期或冲突 cookies |
| 请求头过大 | 过载的请求(例如,cookies 过多或过大) |
| DNS 缓存问题 | 系统中存储的过期 IP 地址或 DNS 数据 |
| 有问题的浏览器扩展 | 修改或破坏请求数据的附加组件 |
| 损坏的 API/form 请求 | POST/GET 请求中缺少字段、内容类型错误或 JSON 无效 |
如何修复 Error 400(分步)
按以下顺序执行这些步骤——大多数 400 错误都很容易修复:
1. 检查 URL
- 确保网页地址输入正确。
- 检查是否有多余字符,例如 ??、%% 或不必要的查询字符串。
损坏的 URL 示例:
https://example.com//page?id==abc@@
2. 清除 Browser Cookies 和 Cache
损坏的 cookies 是导致 400 错误的首要原因。
- 在 Chrome 中:
Settings → Privacy & Security → Clear browsing data → Cookies and cached files - 或者直接在隐身/私密模式下打开网站进行测试。
3. 刷新 DNS Cache
你的设备可能缓存了过期或不正确的 DNS 信息。
- Windows:
ipconfig /flushdns
- macOS:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
- Linux:
取决于发行版(例如,systemd-resolve –flush-caches)
4. 尝试不同的浏览器或设备
在 Firefox、Safari,或另一部手机或电脑上打开相同的 URL。如果可以正常工作,问题就在你的主浏览器中。
5. 禁用浏览器扩展、VPN 或代理
这些可能会更改你的请求或阻止某些内容。禁用所有扩展后再试一次。
6. 检查你的 form 或 API 请求(针对开发者)
如果你正在使用 API 或 web forms:
验证所有输入字段
使用正确的请求头(例如,Content-Type: application/json)
确保数据格式正确(JSON、URL 编码等)
高级使用场景
| 场景 | 解决方案 |
|---|---|
| form 返回 400 | 检查必填字段和方法(POST/GET) |
| 站点迁移后出现错误 | 清除 DNS 和 browser cookies |
| admin panel 无法加载 | 禁用 plugins 并清除 session cookies |
| API 请求失败 | 验证 JSON 和请求头 |
还是没修复?试试这个:
- 使用移动数据在移动设备上测试网站——以绕过本地 DNS 和 cache。
- 使用 https://httpstatus.io 之类的工具或 browser developer tools 检查响应。
- 如果你不是网站所有者,请向网站支持提供完整截图和复现步骤。
总结
400 Bad Request 错误意味着你的浏览器发送了一个 server 无法处理的请求——通常是由于格式错误、cookies 或 DNS 问题。
修复方法:
- 检查并清理 URL
- 清除你的 cookies 和 cache
- 刷新你的 DNS
- 在另一个浏览器中测试
- 禁用干扰性的扩展
- (如果在编程)验证你的 API 或 form 数据


