본문 바로가기
Web

[Web] HTTP Status Code

by 차가운개발 2024. 11. 27.

 

클라이언트가 요청을 보냈을 때 서버가 클라이언트에게 응답의 상태를 숫자로 알려주는 코드다. 주로 3자리 숫자로 이루어지며, 각 숫자는 요청 처리 결과에 대한 상태를 나타낸다. 이를통해 요청의 성공이나 추가 작업 필요성을 파악할 수 있다.

 

ㅇ 5가지 주요 클래스

  • 1xx : Informational (정보)
    정보 전달을 의미하며 요청을 게속 진행해도 된다는 응답이다.
    100 Continue : 클라이언트가 요청을 게속해도됨.
    101 Switching Protocols : 서버가 프로토콜 전환을 수락

  • 2xx : Success (성공)
    요청이 성공적으로 처리되었음을 나타낸다.
    200 Ok : 요청이 성공적으로 처리됨
    201 Created : 요청이 성공적으로 처리되었고, 새로운 리소스가 생성됨
    202 Accepted : 요청이 수락되었으나, 아직 처리되지 않음
    204 No Content : 요청은 성공했으나 응답 본문이 없음

  • 3xx : Redirection (리다이렉션)
    클라이언트가 요청을 완료하려면 추가 작업을 해야함을 의미한다.
    301 Moved Permanently : 리소스가 영구적으로 다른 URL로 이동
    302 Found : 리소스가 임시적으로 다른 URL로 이동
    303 See Other : 클라이언트가 다른 URL로 리다이렉트되어야 함
    304 Not Modified : 리소스가 수정되지 않았음, 클라이언트는 캐시를 사용할 수 있음

  • 4xx : Client Error (클라이언트 오류)
    클라이언트의 요청에 문제가 있을 때 사용된다.
    400 Bad Request : 잘못된 요청, 서버가 이해하지 못함
    401 Unauthorized : 인증이 필요함
    403 Forbidden : 서버가 요청을 거부함, 권한 부족
    404 Not Found : 요청한 리소스를 찾을 수 없음
    405 Method Not Allowed : 요청 메서드가 허용되지 않음
    429 Too Many Requests : 너무 많은 요청으로 인해 제한됨

  • 5xx : Server Error (서버 오류)
    서버에서 요청 처리 중 문제가 발생했을 때 사용된다.
    500 Internal Server Error : 서버에서 알 수 없는 오류가 발생
    501 Not Implemented : 서버가 요청 메서드를 지원하지 않음
    502 Bad Gateway : 게이트웨이 또는 프록시 서버가 잘못된 응답을 수신
    503 Service Unavailable : 서버가 요청을 처리할 준비가 되지 않음
    504 Gateway Timeout : 게이트웨이 또는 프록시 서버가 시간초과로 응답하지 않음

 

ㅇ 주요 상태코드 설명

  • 200 OK
    가장 일반적인 성공 응답
    GET 요청 : 리소스를 가져와 응답 본문에 포함
    POST 요청 : 요청 처리 성공과 함께 결과 반환
  • 301 Moved Permanently
    리소스가 새로운 URL로 영구적으로 이동
    클라이언트는 이후부터 새 URL을 사용해야 함.
  • 404 Not Found
    요청한 URL에 리소스가 없음
    사용자 요청 경로를 확인해야함
  • 500 Internal Server Error
    서버가 요청을 처리하는 도중 예상치 못한 문제가 발생
    서버 로그를 확인하여 원인을 파악해야함


ㅇ 활용할 수 있는 사례

  • RESTful API 설계에서 요청 결과를 전달하는 데 중요한 도구로 쓰임
  • 사용자에게 명확한 피드백 제공
  • 상태코드로 문제 식별 문제 해결 및 디버깅 가능
  • 상태코드를 기반으로한 비즈니스 로직 처리 가능

'Web' 카테고리의 다른 글

[Web] Web과 WAS의 차이  (0) 2024.11.27
[Web] REST API  (1) 2024.11.27
[Web] HTTP Request Method  (1) 2024.11.27
CS Cache(캐시)  (1) 2024.10.10
[Web] 쿠키와 세션의 차이  (1) 2024.10.10