네트워크

[네트워크] HTTP 상태코드 정리

연화 2025. 1. 4. 22:08

HTTP 상태 코드는 서버가 클라이언트 요청을 처리한 결과를 나타내며, 숫자와 짧은 설명(Reason Phrase)으로 구성됩니다. 상태 코드는 첫 번째 자릿수를 기준으로 5개의 클래스(Class)로 분류됩니다.

1xx: Informational (정보)

클라이언트가 요청을 계속 진행할 수 있음을 알리는 응답.

코드 설명 (Reason Phrase) 의미
100 Continue 요청이 부분적으로 완료되었으며, 계속 진행 가능
101 Switching Protocols 프로토콜 전환 승인
102 Processing (WebDAV) 요청을 수신했으며 처리 중
103 Early Hints 응답의 일부 정보를 먼저 제공

 

2xx: Success (성공)

요청이 성공적으로 처리되었음을 알리는 응답.

코드 설명 (Reason Phrase) 의미
200 OK 요청이 성공적으로 처리됨
201 Created 요청으로 인해 리소스가 성공적으로 생성됨
202 Accepted 요청이 접수되었으나 처리되지 않음
203 Non-Authoritative Information 원 서버가 아닌 다른 소스에서 가져온 정보
204 No Content 요청이 성공적으로 처리되었으나 응답 본문 없음
205 Reset Content 클라이언트가 보기를 초기화하도록 지시
206 Partial Content 요청된 리소스의 일부를 제공
207 Multi-Status (WebDAV) 여러 상태를 포함한 다중 응답
208 Already Reported (WebDAV) 이미 처리된 리소스
226 IM Used 서버가 GET 요청에 대해 인스턴스 조작을 수행함

 

3xx: Redirection (리다이렉션)

클라이언트가 요청을 완료하기 위해 추가 조치를 취해야 함.

코드 설명 (Reason Phrase) 의미
300 Multiple Choices 여러 리소스 중 선택 필요
301 Moved Permanently 리소스가 영구적으로 다른 URL로 이동됨
302 Found 리소스가 일시적으로 다른 URL에 존재
303 See Other 다른 URI를 참조하도록 리다이렉션
304 Not Modified 캐시된 리소스가 변경되지 않음
305 Use Proxy 요청에 프록시 사용 필요
306 (Unused) 더 이상 사용되지 않음 (예약 코드)
307 Temporary Redirect 일시적으로 다른 URL로 리다이렉션
308 Permanent Redirect 리소스가 영구적으로 다른 URL로 이동됨

 

4xx: Client Error (클라이언트 오류)

클라이언트 요청에 오류가 있어 처리할 수 없음.

코드 설명 (Reason Phrase) 의미
400 Bad Request 잘못된 요청
401 Unauthorized 인증 필요
402 Payment Required 결제 필요 (미사용)
403 Forbidden 요청이 허용되지 않음
404 Not Found 요청한 리소스를 찾을 수 없음
405 Method Not Allowed 허용되지 않은 HTTP 메소드
406 Not Acceptable 요청의 콘텐츠 특성이 만족되지 않음
407 Proxy Authentication Required 프록시 인증 필요
408 Request Timeout 요청 시간이 초과됨
409 Conflict 요청 충돌 발생
410 Gone 리소스가 더 이상 사용되지 않음
411 Length Required Content-Length 헤더가 필요
412 Precondition Failed 사전 조건이 실패
413 Payload Too Large 요청 본문이 너무 큼
414 URI Too Long 요청 URI가 너무 김
415 Unsupported Media Type 지원되지 않는 미디어 타입
416 Range Not Satisfiable 요청 범위가 처리 불가능
417 Expectation Failed 요청 헤더의 Expect가 실패
418 I'm a teapot "I'm a teapot" (RFC 2324 - 장난 코드)
421 Misdirected Request 서버가 이 요청을 처리할 수 없음
422 Unprocessable Entity (WebDAV) 요청이 이해되었으나 처리할 수 없음
423 Locked (WebDAV) 리소스가 잠겨 있음
424 Failed Dependency (WebDAV) 이전 요청이 실패했기 때문에 처리 실패
425 Too Early 요청 처리가 너무 이른 시점
426 Upgrade Required 클라이언트가 다른 프로토콜로 업그레이드해야 함
428 Precondition Required 사전 조건 필요
429 Too Many Requests 클라이언트가 너무 많은 요청을 보냄
431 Request Header Fields Too Large 요청 헤더 필드가 너무 큼
451 Unavailable For Legal Reasons 법적 이유로 요청한 리소스를 제공할 수 없음

 

5xx: Server Error (서버 오류)

서버가 요청을 처리하지 못했음을 나타냄.

코드 설명 (Reason Phrase) 의미
500 Internal Server Error 서버 내부에서 오류 발생
501 Not Implemented 요청 메소드를 서버에서 지원하지 않음
502 Bad Gateway 게이트웨이/프록시 서버가 잘못된 응답을 수신
503 Service Unavailable 서버가 요청을 처리할 준비가 되지 않음
504 Gateway Timeout 게이트웨이/프록시 서버에서 응답 시간 초과
505 HTTP Version Not Supported 지원되지 않는 HTTP 버전
506 Variant Also Negotiates 투명한 콘텐츠 협상이 순환 참조를 발생
507 Insufficient Storage (WebDAV) 서버 저장소가 부족
508 Loop Detected (WebDAV) 서버에서 무한 루프가 감지됨
510 Not Extended 확장이 필요함
511 Network Authentication Required 네트워크 인증 필요

 

💡 자주 접하는 상태코드
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
405 Method Not Allowed
500 Internal Server Error