HTTP 상태 코드 42가지 - 설명을 보고 코드를 직접 입력하며 외우는 타자 학습
설명을 읽고 해당하는 HTTP 상태 코드를 입력하세요. 401과 403, 502와 504처럼 헷갈리는 짝을 구분해 익힙니다.
진행0 / 0
타/분0
정확도 %100.0
시간0:00
준비 중…
HTTP 상태 코드 42가지 - 설명을 보고 코드를 직접 입력하며 외우는 타자 학습 한눈에 보기
| 순서 | 설명 | 정답 | 핵심 |
|---|---|---|---|
| 1 | 요청이 성공했다 | 200 |
OK. 가장 흔한 성공 응답이다 |
| 2 | 생성에 성공했다 | 201 |
Created. POST 로 새 자원을 만들었을 때 쓴다 |
| 3 | 성공했지만 아직 처리 중 | 202 |
Accepted. 비동기 작업을 접수만 했을 때 |
| 4 | 성공했고 돌려줄 본문이 없다 | 204 |
No Content. DELETE 응답으로 많이 쓴다 |
| 5 | 영구히 다른 주소로 옮겼다 | 301 |
Moved Permanently. 검색엔진이 색인을 옮긴다 |
| 6 | 임시로 다른 주소를 쓴다 | 302 |
Found. 로그인 후 원래 페이지로 보낼 때 |
| 7 | 바뀌지 않았으니 캐시를 써라 | 304 |
Not Modified. 조건부 요청의 응답이다 |
| 8 | 임시 이동인데 메서드를 유지한다 | 307 |
Temporary Redirect. 302 와 달리 POST 가 POST 로 남는다 |
| 9 | 영구 이동인데 메서드를 유지한다 | 308 |
Permanent Redirect |
| 10 | 요청 형식이 잘못됐다 | 400 |
Bad Request. 서버가 해석할 수 없는 요청 |
| 11 | 인증이 필요하다 | 401 |
Unauthorized. 이름과 달리 '인증 안 됨'이다 |
| 12 | 결제가 필요하다 | 402 |
Payment Required. 예약된 코드로 거의 쓰이지 않는다 |
| 13 | 인증은 됐지만 권한이 없다 | 403 |
Forbidden. 401 과의 차이가 면접 단골이다 |
| 14 | 자원을 찾을 수 없다 | 404 |
Not Found |
| 15 | 이 주소에 그 메서드는 안 된다 | 405 |
Method Not Allowed. Allow 헤더로 가능한 메서드를 알려야 한다 |
| 16 | 클라이언트가 원하는 형식을 못 준다 | 406 |
Not Acceptable. Accept 헤더와 맞지 않을 때 |
| 17 | 요청 시간이 지났다 | 408 |
Request Timeout |
| 18 | 현재 상태와 충돌한다 | 409 |
Conflict. 동시 수정이나 중복 등록에서 쓴다 |
| 19 | 예전에 있었지만 이제 없다 | 410 |
Gone. 404 와 달리 '의도적으로 없앴다'는 뜻 |
| 20 | 본문 길이를 밝혀야 한다 | 411 |
Length Required |
| 21 | 조건부 요청의 조건이 안 맞는다 | 412 |
Precondition Failed. 낙관적 잠금에 쓴다 |
| 22 | 본문이 너무 크다 | 413 |
Payload Too Large. 업로드 제한에 걸렸을 때 |
| 23 | URI 가 너무 길다 | 414 |
URI Too Long |
| 24 | 지원하지 않는 미디어 타입 | 415 |
Unsupported Media Type. Content-Type 이 맞지 않다 |
| 25 | 요청 범위가 잘못됐다 | 416 |
Range Not Satisfiable |
| 26 | 나는 찻주전자다 | 418 |
I'm a teapot. 만우절 농담이 표준에 남은 것 |
| 27 | 문법은 맞지만 의미가 틀렸다 | 422 |
Unprocessable Content. 검증 실패에 많이 쓴다 |
| 28 | 잠겨 있다 | 423 |
Locked. WebDAV 확장 |
| 29 | 요청이 너무 잦다 | 429 |
Too Many Requests. 레이트 리밋에 쓴다. Retry-After 를 함께 준다 |
| 30 | 헤더가 너무 크다 | 431 |
Request Header Fields Too Large |
| 31 | 서버 내부 오류 | 500 |
Internal Server Error. 잡지 못한 예외의 기본값 |
| 32 | 구현되지 않았다 | 501 |
Not Implemented |
| 33 | 게이트웨이가 잘못된 응답을 받았다 | 502 |
Bad Gateway. 리버스 프록시 뒤 앱이 죽었을 때 |
| 34 | 지금은 서비스할 수 없다 | 503 |
Service Unavailable. 점검이나 과부하 |
| 35 | 게이트웨이 시간 초과 | 504 |
Gateway Timeout. 502 와 달리 응답 자체가 안 왔다 |
| 36 | HTTP 버전을 지원하지 않는다 | 505 |
HTTP Version Not Supported |
| 37 | 저장 공간이 부족하다 | 507 |
Insufficient Storage |
| 38 | 무한 루프가 감지됐다 | 508 |
Loop Detected |
| 39 | 네트워크 인증이 필요하다 | 511 |
Network Authentication Required. 공용 와이파이 로그인 |
| 40 | 정보성 응답 — 계속 보내라 | 100 |
Continue. Expect: 100-continue 에 대한 응답 |
| 41 | 프로토콜을 바꾸겠다 | 101 |
Switching Protocols. 웹소켓 업그레이드 |
| 42 | 처리 중이다 | 103 |
Early Hints. 미리 리소스를 받게 해 준다 |
이렇게 하면 더 잘 외워집니다
- 1xx 정보, 2xx 성공, 3xx 이동, 4xx 클라이언트 잘못, 5xx 서버 잘못 — 백의 자리부터 잡으세요.
- 헷갈리는 짝을 따로 묶어 보세요. 401(인증 안 됨)과 403(권한 없음), 502(잘못된 응답)와 504(응답 없음), 404(없음)와 410(의도적으로 없앰)입니다.
- 실무에서 직접 내려 보는 코드부터 익히면 오래 남습니다. 200 201 204 301 302 400 401 403 404 409 422 429 500 502 503 이 그 목록입니다.
- 한 번에 42개를 다 돌기보다 2xx·3xx, 4xx, 5xx 를 날짜를 나눠 반복하는 편이 효과적입니다.
자주 묻는 질문
401과 403은 무엇이 다른가요?
401은 '누구인지 모르겠다'(인증 실패), 403은 '누구인지 알지만 권한이 없다'입니다. 로그인하면 해결되는 쪽이 401입니다.
502와 504는요?
502는 뒤쪽 서버가 잘못된 응답을 준 것, 504는 응답 자체가 시간 안에 오지 않은 것입니다. 앱이 죽으면 502, 느리면 504가 나오기 쉽습니다.
422는 400과 어떻게 다른가요?
400은 서버가 요청을 해석조차 못 한 경우, 422는 형식은 맞지만 값이 규칙에 어긋난 경우입니다. 입력 검증 실패에 많이 씁니다.