HTTP Status Code

HTTP Status Code

1. HTTP Status Code

  • 공부를 하면서, 404, 200세 자리 숫자로 이루어진 코드를 본 경험이 있는데, 이것이 무엇이며, 어떤 종류가 있는지 궁금하여 알아보았습니다.
  • HTTP Status Code클라이언트가 보낸 HTTP 요청의 결과를 나타내는 세 자리 숫자로 이루어진 코드입니다.
  • 각각의 Status Code는 특정한 의미를 가지며, 클라이언트와 서버 간의 통신에서 어떤 일이 발생하였는지 알려줍니다.

 

2. Status Code 구조

  •  상태 코드(Status Code)는 다음과 같은 구조를 나타냅니다.
  •  첫 번째 자리 숫자 (1xx, 2xx, 3xx, 4xx, 5xx) : 상태 코드의 일반적인 범주를 나타냅니다.
코드 의미
1xx Informational (정보 전달)
2xx Successful (성공)
3xx Redirection (리디렉션)
4xx Client Error (클라이언트 오류)
5xx Server Error (서버 오류)

 

3. Status Code 종류

  • 그러면 더 자세히 어떤 상태 코드가 있으며, 무슨 의미인지 알아봅시다.

1xx

 100 Continue

  • 서버가 요청의 일부를 받았고 계속해서 나머지를 기다립니다.
  • 이미 요청을 완료한 경우, 무시해도 되는 것을 알려줍니다.

2xx

 200 OK

  • 요청이 성공적으로 처리되었습니다.
  • 성공의 의미는 GET, HEAD, POST, TRACE에 따라 달라집니다.

 201 Created

  • 요청이 성공적으로 처리되어, 새 리소스가 생성되었습니다.
  • 주로 POST 메서드를 사용하여, 새로운 리소스를 생성하는 경우에 반환됩니다.

 202 Accepted

  • 요청은 접수하였지만, 처리가 완료되지 않았고 나중에 완료될 것임을 서버가 나타냅니다.
  • 일반적으로 비동기적인 작업을 수행하는 경우에 이 상태 코드가 사용됩니다.

3xx

 301 Moved Permanently

  • 지정한 리소스가 새로운 URL로 이동하였습니다.
  • 검색 엔진 및 브라우저 등은 이 상태 코드를 받으면, 해당 리소스의 새로운 위치로 자동으로 리디렉션합니다.

 303 See Other

  • 클라이언트가 원래의 요청을 완료한 후다른 위치의 리소스로 이동해야 함을 나타냅니다.
  • 주로 POST 요청의 결과로 리디렉션을 할 때, 사용됩니다.

 307 Temporary Redirect

  • 클라이언트가 원래의 요청을 완료한 후에 임시로 다른 위치의 리소스로 이동해야 함을 나타냅니다.
  • 리디렉션된 리소스를 GET 메서드를 사용하여, 가져와야 합니다.

4xx

 400 Bad Request

  • 클라이언트의 요청서버에 의해 이해되지 않거나 유효하지 않아서 처리할 수 없다는 것을 나타냅니다.
  • 서버가 클라이언트의 요청을 처리할 수 없을 때 나타냅니다. 즉, 잘못된 구문, 누락된 필수 요소, 부적절한 요청 메시지 등을 포함할 때 발생할 수 있습니다.

 401 Unauthorized

  • 지정된 리소스에 대한 권한이 없음을 나타냅니다.
  • 서버에 요청된 리소스에 엑세스하기 전사용자가 자신을 인증해야 하며, 제공된 자격 증명(ex: 사용자 명 or 암호)이 누락되었거나 부적절하거나 충분하지 않은 경우에 해당합니다.

 403 Forbidden

  • 지정한 리소스에 대한 엑세스가 금지되었습니다.
  • 클라이언트가 인증은 받았지만, 해당 리소스에 대한 충분한 권한이 없는 경우 또는 서버가 다른 이유로 엑세스를 허용하지 않는 경우에 발생할 수 있습니다.

404 Not Found

  • 클라이언트가 요청한 리소스를 서버에서 찾을 수 없음을 나타냅니다. 
  • 이는 클라이언트가 요청한 페이지, 문서 또는 다른 리소스가 서버에서 발견되지 않았다는 것을 나타냅니다.

5xx

 500 Internal Server Error

  • 서버가 클라이언트의 요청을 처리하는 동안, 예상치 못한 문제가 발생했음을 의미합니다.
  • 서버 내부에서 무언가가 잘못되었을 때 또는 서버가 처리할 수 없는 상황에서 발생합니다.

 501 Not Implemented

  • 서버가 클라이언트의 요청을 이해하고 있지만, 해당 요청을 수행할 수 있는 기능이 구현되어 있지 않음을 나타냅니다.
  • 서버가 클라이언트의 요청에 필요한 기능 or 메소드를 지원하지 않는 경우에 해당합니다.

 502 Bad Gateway

  • 게이트웨이 or 프록시 서버가 업스트림 서버로부터 유효한 응답을 수신하지 못했음을 나타냅니다.
  • 일반적으로 게이트웨이 or 프록시 서버가 요청을 중계할 때, 업스트림 서버와의 통신에서 문제가 발생했거나 응답을 제대로 수산하지 못한 경우에 발생합니다.

4. 정리하며

  • 지금까지 HTTP Status Code에 대해 알아보았습니다.
  • 앞으로 코딩할 때, 지금 배운 것을 참고하여 코딩하면 더욱 수월할 것 같습니다.

'Computer Science' 카테고리의 다른 글

웹 서버(Web Server)  (0) 2024.05.11
CI/CD  (0) 2024.04.16
DNS (Domain Name System)  (0) 2023.10.15
HTTP와 HTTPS  (0) 2023.09.23
인터넷 (Internet)  (0) 2023.08.20