의미
요청 형식이 잘못되어 서버가 처리할 수 없습니다. 잘못된 구문, 잘못된 프레이밍, 파싱할 수 없는 값 등입니다.
흔한 원인
- 잘못된 JSON이나 틀린 Content-Type
- 쿼리 매개변수 누락 또는 형식 오류
- 너무 크거나 손상된 쿠키
해결 방법
클라이언트 또는 방문자라면
오류 본문의 세부 정보를 읽고, 페이로드를 검증하고(JSON 포매터가 도움이 됩니다), Content-Type을 확인하세요. 브라우저에서 400이 보이면 해당 사이트의 쿠키를 지우세요.
사이트나 API 운영자라면
잘못된 필드를 명시한 명확한 오류 메시지를, 가능하면 application/problem+json으로 반환하세요. 형식은 맞지만 검증에 실패한 입력에는 422를 쓰세요.
응답 예시
HTTP/1.1
HTTP/1.1 400 Bad Request
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Bad Request",
"status": 400,
"detail": "Request body is not valid JSON: unexpected token at line 3."
} 명세
자주 묻는 질문
› 쿠키를 지우면 400이 해결되는 이유는?
거대하거나 손상된 쿠키가 요청 헤더를 무효하거나 너무 크게 만들고, 서버가 흔히 400으로 응답하기 때문입니다.
› 400과 422의 차이는?
400은 요청을 파싱할 수 없다는 뜻이고, 422는 파싱은 됐지만 값이 유효하지 않다는 뜻입니다.