TrueURL
TrueURL

選單

400 錯誤的要求

由於用戶端錯誤,例如語法錯誤、網址無效或 Cookie 過大,伺服器不會處理這個要求。

原因短語
Bad Request
是否為重新導向
否
預設可快取
否

400 Bad Request 是通用的用戶端錯誤。伺服器認為要求有某處不對而拒絕處理,例如語法錯誤、訊息框架無效、具欺騙性的要求路由、有問題的 Host 標頭、無效的查詢參數,或無法解析的主體。用戶端不應原封不動地重送同一個要求。

許多伺服器會把原本有更具體狀態碼的問題也回應為 400。例如當標頭超出 nginx 的緩衝區時,它會回應「400 Bad Request: Request Header Or Cookie Too Large」,其實 431 會更精確;許多 API 也會對原本可以使用 422 的驗證錯誤回傳 400。

回應主體通常是找出實際原因的最佳線索。

回應範例

HTTP
HTTP/1.1 400 Bad Request
Date: Fri, 06 Nov 2026 10:15:32 GMT
Server: nginx
Content-Type: text/html
Content-Length: 217
Connection: close

<html>
<head><title>400 Request Header Or Cookie Too Large</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<center>Request Header Or Cookie Too Large</center>
<hr><center>nginx</center>
</body>
</html>

SEO 與重新導向檢查

搜尋引擎對 400 的處理方式與其他 4xx 錯誤相同:網址不會被編入索引,而已編入索引的網址一旦開始回傳 400,就會被移除。爬蟲送出的是精簡、標準且不帶 Cookie 的要求,因此只有爬蟲才遇到的 400,通常是網址中的特殊字元或防火牆規則所造成。在重新導向檢查中,重新導向鏈中段出現 400,往往代表某次重新導向產生了格式錯誤的網址,例如字元遭到重複編碼,或查詢字串已損壞。

常見原因與使用情境

  • Cookie 過多或過大。請清除該網站的 Cookie,或在 nginx 中調高 large_client_header_buffers。
  • 網址格式錯誤,例如未編碼的空格、損壞的百分比編碼,或無效的 Host 標頭。
  • API 要求中的 JSON 無效,或缺少必要參數。
  • 將一般 HTTP 要求送到 HTTPS 連接埠,nginx 會回報為「The plain HTTP request was sent to HTTPS port」。

網址重新導向檢查

使用免費的 TrueURL 重新導向檢查工具,逐一查看網址在每個躍點回傳的狀態碼。