HTTP 상태 코드

기술노트
Admin (토론 | 기여)님의 2025년 9월 11일 (목) 16:50 판 (Gemini 벌크 업로더로 자동 업로드)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

HTTP 상태 코드

HTTP 상태 코드(HTTP Status Code)는 웹 서버가 클라이언트(웹 브라우저 등)의 HTTP 요청에 대한 처리 결과를 알려주는 세 자리 숫자로 된 코드입니다. HTTP 응답 메시지의 첫 줄에 포함되며, 요청이 성공했는지, 실패했는지, 또는 추가적인 작업이 필요한지 등을 표준화된 방식으로 전달합니다.


🔢 HTTP 상태 코드의 분류

HTTP 상태 코드는 첫 번째 숫자에 따라 5가지 클래스로 분류됩니다.

  • 1xx (Informational) : 요청이 수신되어 처리 중임을 나타냅니다.

> * `100 Continue`: 클라이언트가 계속해서 요청을 보내야 함을 나타냅니다.

  • 2xx (Successful) : 요청을 성공적으로 수신, 이해, 승낙했음을 나타냅니다.

> * `200 OK`: 요청이 성공적으로 처리되었습니다. (가장 일반적인 성공 응답) > * `201 Created`: 요청이 성공적으로 처리되었고, 새로운 리소스가 생성되었습니다. (POST 요청의 결과) > * `204 No Content`: 요청은 성공적으로 처리되었지만, 응답 페이로드에 보낼 콘텐츠가 없습니다. (DELETE 요청의 결과)

  • 3xx (Redirection) : 요청을 완료하기 위해 추가 작업이 필요함을 나타냅니다.

> * `301 Moved Permanently`: 요청한 리소스가 영구적으로 새 URI로 이동되었습니다. (SEO에 중요) > * `302 Found`: 요청한 리소스가 일시적으로 새 URI로 이동되었습니다. (과거 `Moved Temporarily`) > * `304 Not Modified`: 클라이언트의 캐시된 응답을 사용할 수 있음을 나타냅니다. (조건부 GET 요청)

  • 4xx (Client Error) : 클라이언트의 요청에 오류가 있음을 나타냅니다.

> * `400 Bad Request`: 클라이언트의 요청이 잘못된 문법으로 인해 서버가 이해할 수 없습니다. > * `401 Unauthorized`: 인증이 필요합니다. (로그인 필요) > * `403 Forbidden`: 서버가 요청을 거부했습니다. (권한 없음) > * `404 Not Found`: 요청한 리소스를 서버에서 찾을 수 없습니다. (가장 흔한 오류) > * `405 Method Not Allowed`: 요청 메서드가 서버에서 허용되지 않습니다.

  • 5xx (Server Error) : 서버가 유효한 요청을 처리하지 못했음을 나타냅니다.

> * `500 Internal Server Error`: 서버에 오류가 발생하여 요청을 수행할 수 없습니다. (가장 일반적인 서버 측 오류) > * `502 Bad Gateway`: 게이트웨이나 프록시 서버가 업스트림 서버로부터 유효한 응답을 받지 못했습니다. > * `503 Service Unavailable`: 서버가 일시적으로 과부하 또는 유지보수로 인해 요청을 처리할 수 없습니다. > * `504 Gateway Timeout`: 게이트웨이나 프록시 서버가 업스트림 서버로부터 시간 내에 응답을 받지 못했습니다.


💡 개발자 핵심 Point

  • HTTP 상태 코드는 웹 애플리케이션 개발 및 디버깅에 필수적인 정보입니다.
  • RESTful API 설계 : RESTful API를 설계할 때, HTTP 상태 코드를 적절하게 사용하여 API의 응답을 명확하게 전달하는 것이 중요합니다. (e.g., 리소스 생성 시 201 Created, 조회 시 200 OK, 유효하지 않은 요청 시 400 Bad Request)
  • 사용자 경험 (UX) : 사용자에게 의미 있는 오류 메시지를 제공하기 위해 상태 코드를 기반으로 적절한 UI/UX를 구현해야 합니다. (e.g., 404 페이지, 500 에러 페이지)
  • SEO (검색 엔진 최적화) : 301 Moved Permanently와 같은 리다이렉션 코드는 검색 엔진이 페이지 이동을 올바르게 인식하고 인덱싱하는 데 중요합니다.
  • 클라이언트(브라우저, 모바일 앱)와 서버 간의 통신 문제를 진단할 때, HTTP 상태 코드를 확인하는 것이 문제 해결의 첫걸음입니다.