본문 바로가기

old/Cyber Security

HTTP 상태 코드: 요청-응답 과정에서 발생하는 상태 코드 정리

반응형

정의

HTTP 상태 코드(HTTP status code)는 클라이언트가 서버에 요청을 보내고 서버가 클라이언트에 응답하는 과정에서 발생하는 상태 코드입니다.

HTTP 상태 코드 status code

1xx (Informational) : 요청이 수신되어 처리중인 상태

  • 100 Continue : 클라이언트가 서버에게 전송한 요청 메시지를 서버가 받아들였으며, 클라이언트가 계속해서 메시지를 전송해도 된다는 것을 나타냅니다.
  • 101 Switching Protocols : 클라이언트가 요청한 업그레이드를 수락하고 프로토콜을 변경합니다.

2xx (Successful) : 요청이 성공적으로 처리되었음

  • 200 OK : 요청이 성공적으로 처리되었으며, 클라이언트가 요청한 콘텐츠가 포함된 응답을 반환합니다.
  • 201 Created : 요청이 성공적으로 처리되어 새로운 리소스가 생성되었음을 나타냅니다.
  • 204 No Content : 요청이 성공적으로 처리되었지만, 클라이언트에게 응답 본문이 없음을 나타냅니다.
  • 206 Partial Content : 클라이언트가 요청한 일부분만 성공적으로 처리되었음을 나타냅니다.

3xx (Redirection) : 요청을 완료하려면 추가 동작이 필요함

  • 301 Moved Permanently : 요청한 리소스가 새로운 위치로 옮겨졌음을 나타내며, 향후 모든 요청이 새 위치로 전달되어야 함을 나타냅니다.
  • 302 Found : 요청한 리소스가 일시적으로 다른 위치에 있음을 나타내며, 향후 요청이 원래 위치로 전달될 수 있음을 나타냅니다.
  • 304 Not Modified : 서버에 캐시된 리소스와 클라이언트에 저장된 리소스의 버전이 같은 경우에 응답됩니다. 클라이언트가 이전에 해당 리소스를 요청했을 때, 서버는 해당 리소스를 클라이언트에게 응답하면서 동시에 클라이언트에게 이 리소스를 캐싱하도록 요청합니다. 그 후 클라이언트가 동일한 리소스를 다시 요청하면, 서버는 해당 리소스의 버전이 변경되지 않았다는 것을 의미하는 304 Not Modified 상태 코드를 응답합니다. 이 경우 서버는 새로운 리소스를 전송하지 않고, 클라이언트는 캐시된 리소스를 사용합니다.
  • 307 Temporary Redirect : 요청한 리소스가 일시적으로 다른 위치에 있음을 나타내며, 향후 요청이 원래 위치로 전달될 수 있음을 나타냅니다.

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

  • 400 Bad Request: 서버가 이해할 수 없는 요청을 받았을 때 발생합니다. 예를 들어, 잘못된 구문을 갖는 요청이나 필요한 매개 변수를 전송하지 않은 경우에 발생할 수 있습니다.
  • 401 Unauthorized: 인증되지 않은 요청을 수신할 때 발생합니다. 보통은 로그인이 필요한 리소스에 로그인하지 않은 상태로 접근하려고 할 때 발생합니다.
  • 403 Forbidden: 서버가 요청을 이해했지만, 요청한 클라이언트가 해당 요청을 수행할 권한이 없는 경우 발생합니다. 예를 들어, 어드민 페이지에 일반 사용자가 접근하려고 할 때 발생할 수 있습니다.
  • 404 Not Found: 요청한 리소스가 서버에 없을 때 발생합니다. 예를 들어, 유효하지 않은 URL을 요청하거나 삭제된 페이지를 요청할 때 발생할 수 있습니다.

5xx (Server Error) : 서버 측의 오류

  • 500 Internal Server Error: 서버에서 처리 중에 오류가 발생했을 때 발생합니다. 예를 들어, 서버가 처리할 수 없는 요청을 수신한 경우 또는 서버에서 데이터베이스 연결에 문제가 생긴 경우에 발생할 수 있습니다.
  • 502 Bad Gateway: 서버가 게이트웨이나 프록시 역할을 하는 서버로 요청을 전달할 때, 그 서버에서 잘못된 응답을 받았을 때 발생합니다.
  • 503 Service Unavailable: 서버가 일시적으로 사용할 수 없는 경우 발생합니다. 예를 들어, 서버가 과부하 상태일 때 또는 유지보수 작업을 진행하고 있을 때 발생할 수 있습니다.
  • 504 Gateway Timeout: 서버가 게이트웨이나 프록시 역할을 하는 서버로 요청을 전달하였지만, 그 서버에서 일정 시간 내에 응답을 받지 못할 때 발생합니다.

이외에도 다양한 상태 코드가 있지만, 위의 상태 코드들은 일반적으로 가장 많이 사용됩니다.

반응형