400 Bad Request

HTTP 400 Bad Request 客戶端錯誤響應狀態碼錶示伺服器由於被認為是客戶端錯誤的問題而無法處理請求。400 響應的原因通常是由於格式錯誤的請求語法、無效的請求訊息幀或欺騙性的請求路由。

收到 400 響應的客戶端應預期,如果不修改請求就重複請求,將以相同的錯誤失敗。

狀態

http
400 Bad Request

示例

格式錯誤的請求語法

假設存在一個 REST API,其端點用於管理使用者,地址為 http://example.com/users,並且一個帶有以下主體的 POST 請求嘗試建立一個使用者,但使用了包含未轉義換行符的無效 JSON

http
POST /users HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 38

{
  "email": "b@example.com
",
  "username": "b.smith"
}

如果內容是有效格式,我們應該會收到 201 Created 響應或另一個成功訊息,但伺服器 instead 響應 400,並且響應主體包含一個帶有上下文的 message 欄位,以便客戶端可以使用格式正確的請求重試該操作

http
HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 71

{
  "error": "Bad request",
  "message": "Request body could not be read properly.",
}

規範

規範
HTTP 語義
# status.400

另見