HTTP 400 Bad Request
400은 클라이언트 오류(4xx) 응답이에요. 아래 숫자를 바꿔 다른 코드도 바로 찾아볼 수 있어요.
파일은 서버로 전송되지 않고 내 기기에서만 처리돼요
HTTP 상태 코드 · 4xx 클라이언트 오류
400 Bad Request
잘못된 요청 — 요청 문법이 틀렸거나 형식이 잘못돼 서버가 처리하지 않겠다는 응답이에요.
| 이름 | 400 Bad Request |
|---|---|
| 분류 | 4xx 클라이언트 오류 |
| 정의 문서 | RFC 9110 §15.5.1 |
| 기본 캐시 | 명시적 캐시 지시가 있을 때만 |
| 관련 헤더 | 특별히 정한 헤더 없음 |
응답 예시
HTTP/1.1 400 Bad Request Date: Thu, 12 Nov 2026 03:00:00 GMT
다른 상태 코드 찾아보기
HTTP 400 Bad Request 뜻
400 Bad Request(잘못된 요청)은 4xx 클라이언트 오류 응답이에요. 4xx는 요청 쪽에 문제가 있다는 응답이에요. 요청 문법이 틀렸거나 형식이 잘못돼 서버가 처리하지 않겠다는 응답이에요. 정의는 HTTP 의미론 표준인 RFC 9110의 15.5.1절에 있어요.

캐시: RFC 9110은 200, 203, 204, 206, 300, 301, 308, 404, 405, 410, 414, 501을 ‘기본으로 캐시 가능(heuristically cacheable)’으로 정해요. 400은 이 목록에 없어서, 응답에 Cache-Control이나 Expires로 캐시를 허락해야만 저장돼요.
사용자로서 이 코드를 봤다면
주소에 이상한 글자가 섞였거나 쿠키가 꼬였을 때 나와요. 주소를 다시 확인하고 쿠키를 지운 뒤 다시 시도해 보세요.
개발자라면
깨진 JSON, 빠진 필수 값처럼 클라이언트 쪽 문제를 알려요. 본문에 무엇이 틀렸는지 적어 주세요.
같은 분류의 다른 코드
| 코드 | 이름 | 한국어 | 기본 캐시 |
|---|---|---|---|
| 401 | Unauthorized | 인증 필요 | - |
| 402 | Payment Required | 결제 필요(예약) | - |
| 403 | Forbidden | 접근 금지 | - |
| 404 | Not Found | 찾을 수 없음 | 가능 |
| 405 | Method Not Allowed | 허용되지 않은 메서드 | 가능 |
| 406 | Not Acceptable | 받을 수 없는 형식 | - |
| 407 | Proxy Authentication Required | 프록시 인증 필요 | - |
| 408 | Request Timeout | 요청 시간 초과 | - |
| 409 | Conflict | 충돌 | - |
| 410 | Gone | 영구 삭제됨 | 가능 |
| 411 | Length Required | 길이 필요 | - |
| 412 | Precondition Failed | 전제 조건 실패 | - |
| 413 | Content Too Large | 내용이 너무 큼 | - |
| 414 | URI Too Long | 주소가 너무 김 | 가능 |
| 415 | Unsupported Media Type | 지원하지 않는 형식 | - |
| 416 | Range Not Satisfiable | 범위 오류 | - |
| 417 | Expectation Failed | 기대 조건 실패 | - |
| 418 | (Unused) | 사용 안 함 (찻주전자) | - |
| 421 | Misdirected Request | 잘못 전달된 요청 | - |
| 422 | Unprocessable Content | 처리할 수 없는 내용 | - |
| 423 | Locked | 잠김 | - |
| 424 | Failed Dependency | 선행 작업 실패 | - |
| 425 | Too Early | 너무 이름 | - |
| 426 | Upgrade Required | 업그레이드 필요 | - |
| 428 | Precondition Required | 전제 조건 필요 | - |
| 429 | Too Many Requests | 요청이 너무 많음 | - |
| 431 | Request Header Fields Too Large | 헤더가 너무 큼 | - |
| 451 | Unavailable For Legal Reasons | 법적 이유로 이용 불가 | - |
이어서 보기
참고한 자료
- IANA Hypertext Transfer Protocol (HTTP) Status Code Registry (등록 이름·참조 문서, 확인 2026-11-12)
- RFC 9110 HTTP Semantics — 15. Status Codes (정의·필수 헤더·기본 캐시 가능 코드, 확인 2026-11-12)
자주 묻는 질문
HTTP 400 오류는 무슨 뜻이에요?
잘못된 요청이라는 뜻의 4xx 클라이언트 오류 응답이에요. 요청 문법이 틀렸거나 형식이 잘못돼 서버가 처리하지 않겠다는 응답이에요.
400 응답은 캐시되나요?
기본으로 캐시 가능한 코드가 아니라서 Cache-Control 같은 지시가 있어야 캐시돼요.
400과 422의 차이는요?
400은 요청 형식 자체가 잘못된 경우, 422는 형식은 맞지만 내용 때문에 처리할 수 없는 경우예요.
함께 쓰면 좋은 도구
- JSON 정리 (보기 좋게 들여쓰기·검증·압축)JSON을 보기 좋게 들여쓰기, 오류 위치 표시, 한 줄 압축, 키 정렬, 문자열 이스케이프
- 메타 태그 만들기 (SEO·오픈그래프·카톡 공유 미리보기)제목·설명·대표 이미지로 SEO·오픈그래프·트위터 카드 태그를 만들고, 검색·카톡 공유 미리보기 확인
- 정규식 테스트 (정규표현식 매칭 확인)패턴과 플래그로 일치하는 부분을 강조 표시, 그룹 값 표, 바꾸기 미리보기, 자주 쓰는 패턴
- Base64 인코딩·디코딩 (글자·파일 ↔ Base64)글자(한글 UTF-8)를 Base64로, Base64를 글자로, 파일·이미지를 data URI로, Base64를 파일로 저장
- 색상 코드 변환 (HEX·RGB·HSL·CMYK)HEX·RGB·HSL·HSV·CMYK를 서로 바꾸고, 글자 대비(WCAG) 검사, 밝게·어둡게 단계 표
- 색상 팔레트 만들기 (어울리는 색 조합·사진에서 색 뽑기)대표 색 하나로 보색·유사색·삼각 배색·단계색 팔레트, 사진에서 주요 색 뽑기, CSS·PNG로