끄적끄적 아무기록

HTTP Error Code (HTTP 상태 코드)

by 현생사는갓생지망생
반응형

모든 HTTP 응답 코드는 5개의 클래스(분류)로 구분된다

 

👉🏻 상태 코드의 첫 번째 숫자는 응답의 클래스를 정의

  • 1xx (정보) : 요청을 받았으며 프로세스를 계속한다
  • 2xx (성공) : 요청을 성공적으로 받았으며 인식했고 수용하였다
  • 3xx (리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요하다
  • 4xx (클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없다
  • 5xx (서버 오류) : 서버가 명백히 유효한 요청에 대해 충족을 실패했다

 

🔢 Error Code 정리

1. 정보

  • 100 Continue

2. 정상 처리

  • 200 OK : 주로 GET 요청에 대한 응답
  • 201 Created : 요청이 수행되어 새로운 리소스가 생성됨을 의미. 주로 POST 요청에 대한 응답
  • 202 Accepted : 요청 접수 후 일정 시간이 지난 후 요청을 처리하는 경우의 응답
  • 203 Non-Authoritative Information : 요청이 수행되었으나, 검증이 되지 않음을 의미
  • 204 No Content : 응답 payload에 보낼 데이터가 없음을 의미하며, 주로 DELETE 요청에 대한 응답

3. 리다이렉션

  • 300 Multiple Choices : 요청에 대해 하나 이상의 리소스가 존재함
  • 301 Moved Permanently : 요청한 리소스의 URI가 변경되었음을 의미
  • 302 Found : 요청한 리소스의 URI가 일시적으로 변경되었음을 의미
  • 304 Not Modified : 리소스가 수정되지 않음을 의미
  • 307(Temporary), 308(Permanent) : 302와 유사하며, 클라이언트는 HTTP 메서드를 유지한 채 요청을 재송신할 필요가 있음을 의미

4. 클라이언트 오류

  • 400 Bad Request : 잘못된 문법 등으로 인해 서버가 요청을 이해할 수 없음
  • 401 Unauthorized : 인증되지 않은 사용자가 인증이 필요한 리소스를 요청하는 경우의 응답
  • 403 Forbidden : 클라이언트가 접근 권한이 없는 경우
    • 401과 차이는 서버가 클라이언트가 누구인지 알고 있다는 것
  • 404 Nod Found : 요청한 리소스가 존재하지 않은 경우
    • 인증되지 않은 클라이언트로부터 리소스를 숨기기 위해 403 대신 전송 하기도 함
  • 405 Method Not Allowed : 현재 리소스에 맞지 않는 Method 사용한 경우

5. 서버 오류

  • 500 Internal Server Error : 서버에 오류가 발생하여 응답 불가능
  • 501 Not Implemented : 클라이언트 요청에 대한 서버의 응답 수행 기능이 없음을 의미
  • 502 Bad Gateway : Gateway로부터 잘못된 응답 수신
    • 보통 서버에 접속하는 사용자가 많아 과부하 된 경우 발생
  • 503 Service Unavailable : 서버가 요청을 처리할 준비가 되지 않음을 의미
  • 504 Gateway Timeout : 서버가 게이트웨이 역할을 하고 있으며, 한 서버가 액세스 하고 있는 다른 서버에서 적시에 응답을 받지 못했음을 의미

 

☝🏻 GET / POST 개념

GET : 클라이언트에서 서버로 어떠한 리소스로부터 정보를 요청

POST : 리소스를 생성, 업데이트하기 위해 서버에 데이터를 보내는 데 사용

 

‼️📢 HTTP 응답 코드를 이용하여 Alert을 설정할 수도 있다

예를 들어 4xx 응답 코드에 대하여 Alert을 설정해둔 경우, 404 에러가 지속된다면

사용할 수 있는 취약점이 있는지 찾아보는 공격이나 DDoS 공격을 의심해 볼 수 있다

5xx 응답 코드에 대한 Alert이 발생하는 경우는 서버 측 오류이므로 자신의 서비스를 점검해 볼 필요가 있다

이처럼, 상황에 맞게 적절한 응답 코드를 사용하여 서비스 모니터링이 가능하다

 

✍🏻 참고

HTTP 상태 코드 위키백과 https://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%93%9C

반응형

블로그의 정보

현생이네

현생사는갓생지망생

활동하기