티스토리 뷰

반응형

HTTP 상태 코드(HTTP Status Codes)는 클라이언트(브라우저)와 서버 간의 통신 결과를 나타내는 표준화된 숫자 코드입니다. 이 코드는 RFC 7231 및 IANA(Internet Assigned Numbers Authority)의 표준을 따르며, 웹 개발자와 시스템 관리자에게 통신 성공 여부나 오류의 원인을 정확히 진단하게 해주는 이정표 역할을 합니다.

각 상태 코드는 3자리 숫자로 구성되며, 첫 번째 자릿수는 해당 코드의 범위(Class)를 나타냅니다.


1. HTTP 상태 코드 범류(Class) 요약

범위 카테고리 의미
1xx Informational (정보 제공) 요청을 받았으며 프로세스가 계속 진행 중임을 나타냄
2xx Success (성공) 요청이 성공적으로 수신되었고, 이해되었으며 수용됨
3xx Redirection (리다이렉션) 요청 완료를 위해 추가적인 동작(위치 이동 등)이 필요함
4xx Client Error (클라이언트 오류) 요청에 잘못된 문법이 있거나 요청을 수행할 수 없음 (사용자 잘못)
5xx Server Error (서버 오류) 서버가 유효한 요청을 명백하게 수행하지 못함 (서버 잘못)

2. 상세 코드 분석 (상태별 설명)

2.1 1xx: 정보 제공 (Informational)

대부분의 일반적인 웹 브라우징에서는 자주 보기 힘든 코드입니다.

  • 100 Continue: 현재까지의 상태가 괜찮으니 요청을 계속하라는 의미입니다.
  • 101 Switching Protocols: 클라이언트가 서버에 프로토콜 변경을 요청했을 때(예: HTTP에서 WebSocket으로), 서버가 이를 승인하고 전환 중임을 알립니다.

2.2 2xx: 성공 (Success)

가장 이상적인 결과입니다.

  • 200 OK: 요청이 성공적으로 처리되었습니다. (가장 흔한 코드)
  • 201 Created: 요청이 성공적이었으며, 그 결과로 새로운 리소스가 생성되었습니다. (주로 POST 요청 후 발생)
  • 204 No Content: 요청은 성공했으나 응답 바디에 보낼 데이터가 없습니다. (주로 삭제 요청 후 발생)

2.3 3xx: 리다이렉션 (Redirection)

리소스의 위치가 변경되었을 때 발생합니다.

  • 301 Moved Permanently: 요청한 리소스의 URI가 영구적으로 변경되었습니다. 검색 엔진(SEO)에 주소 변경을 알릴 때 중요합니다.
  • 302 Found (Temporary Redirect): 리소스가 일시적으로 다른 위치에 있습니다.
  • 304 Not Modified: 클라이언트가 캐시한 버전이 아직 유효하므로, 데이터를 다시 전송하지 않고 기존 캐시를 사용하도록 합니다. (대역폭 절약 효과)

반응형

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

가장 빈번하게 발생하며, 사용자의 입력이나 요청 방식에 문제가 있는 경우입니다.

  • 400 Bad Request: 서버가 이해할 수 없는 잘못된 구문(Syntax)으로 요청했습니다.
  • 401 Unauthorized: 해당 리소스에 접근하려면 로그인이 필요하거나 인증 정보가 유효하지 않습니다.
  • 403 Forbidden: 인증은 되었으나, 해당 리소스에 접근할 권한이 없습니다. (예: 일반 사용자가 관리자 페이지 접근 시)
  • 404 Not Found: 요청한 리소스를 서버에서 찾을 수 없습니다. (URL 오타 혹은 페이지 삭제)
  • 405 Method Not Allowed: 해당 리소스에 대해 허용되지 않는 HTTP 메소드(GET, POST 등)를 사용했습니다.
  • 429 Too Many Requests: 정해진 시간 내에 너무 많은 요청을 보냈습니다. (Rate Limiting)

2.5 5xx: 서버 오류 (Server Error)

클라이언트의 요청은 정상이나, 서버 환경의 문제로 처리가 안 되는 경우입니다.

  • 500 Internal Server Error: 서버 내부의 알 수 없는 오류입니다. (코드 버그, 설정 문제 등 포괄적)
  • 502 Bad Gateway: 게이트웨이나 프록시 서버가 상위 서버로부터 잘못된 응답을 받았습니다.
  • 503 Service Unavailable: 서버가 일시적인 과부하 또는 점검으로 인해 요청을 처리할 수 없습니다.
  • 504 Gateway Timeout: 게이트웨이 역할을 하는 서버가 상위 서버의 응답을 기다리다 시간을 초과했습니다.

3. 주요 HTTP 오류 코드 일람표 (Reference Table)

코드 메시지 발생 원인 및 해결 방법
200 OK 정상 처리. 추가 조치 필요 없음.
301 Moved Permanently 주소가 완전히 바뀜. 새로운 주소로 자동 연결됨.
400 Bad Request 요청 파라미터 확인. JSON 형식이 틀렸거나 필수 값 누락.
401 Unauthorized 아이디/비밀번호 확인, 혹은 API 토큰 만료 확인.
403 Forbidden 접근 권한 설정 확인 (ACL, 권한 그룹 등).
404 Not Found URL 경로 확인. 삭제된 게시글이나 페이지인지 확인.
500 Internal Server Error 서버 로그 확인 필요. 코드 내 Exception 발생 가능성 높음.
502 Bad Gateway Nginx-Gunicorn 등 서버 간 연결 상태 확인.
503 Service Unavailable 서버 사양 업그레이드 또는 트래픽 분산(Load Balancing) 필요.
504 Gateway Timeout 쿼리 처리 시간이 너무 길거나 외부 API 응답 지연 확인.

본 가이드는 다음의 글로벌 표준 기구 및 개발자 문서를 기반으로 작성되었습니다.

  • RFC 7231 (IETF): HTTP/1.1의 의미론과 콘텐츠를 규정하는 공식 표준 문서.
  • MDN Web Docs (Mozilla): 전 세계 개발자들이 가장 많이 참조하는 웹 기술 상세 문서.
  • IANA (Internet Assigned Numbers Authority): 모든 HTTP 상태 코드를 공식적으로 등록하고 관리하는 기관.

 

#HTTPStatusCodes #WebDevelopment #RestAPI #Networking #404NotFound #500InternalError #ServerAdministration #RFC7231 #WebStandard #BackendEngineering #Troubleshooting #HTTPS #API_Design

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함
반응형