TrueURL
TrueURL

메뉴

400 잘못된 요청

잘못된 요청 구문, 유효하지 않은 URL, 너무 큰 쿠키처럼 클라이언트 측 오류로 보이는 문제 때문에 서버가 요청을 처리하지 않습니다.

사유 구절
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 오류와 같이 취급합니다. 해당 URL은 색인되지 않으며, 이미 색인된 URL이 400을 반환하기 시작하면 색인에서 삭제됩니다. 크롤러는 쿠키 없이 작고 표준적인 요청을 보내므로, 크롤러만 400을 받는다면 대개 URL에 들어 있는 특이한 문자나 방화벽 규칙이 원인입니다. 리디렉션 검사에서 체인 중간에 400이 있다면, 리디렉션이 이중 인코딩된 문자나 깨진 쿼리 문자열 등이 포함된 잘못된 URL을 만들었다는 뜻인 경우가 많습니다.

주요 원인과 사용 사례

  • 쿠키가 너무 많거나 너무 큽니다. 사이트의 쿠키를 삭제하거나, nginx에서 large_client_header_buffers 값을 늘리세요.
  • 인코딩되지 않은 공백, 깨진 퍼센트 인코딩, 유효하지 않은 Host 헤더 등 잘못된 형식의 URL입니다.
  • JSON이 유효하지 않거나 필수 매개변수가 빠진 API 요청입니다.
  • HTTPS 포트로 일반 HTTP 요청을 보냈습니다. nginx는 이를 “The plain HTTP request was sent to HTTPS port”로 보고합니다.

URL 리디렉션 검사

무료 TrueURL 리디렉션 검사 도구로 URL이 반환하는 모든 상태 코드를 홉별로 확인하세요.