[Web] HTTP 상태 코드란?

해피몬·2023년 2월 9일
0
post-thumbnail

HTTP 상태 코드는 클라이언트의 요청에 대한 서버의 응답 상태를 나타내는 3자리 숫자 코드입니다. 이 코드는 클라이언트에게 요청이 성공적으로 처리되었는지, 에러가 발생했는지, 그리고 필요한 추가 작업이 있는지를 알려줍니다.

정보 응답 (1xx)
성공 응답 (2xx)
리다이렉션 (3xx)
클라이언트 오류 (4xx)
서버 오류 (5xx)

정보 응답 (1xx)

  • 100 Continue: 클라이언트가 요청을 계속 진행해도 좋다는 의미입니다. 요청의 헤더가 올바르다는 것을 서버가 확인했을 때 사용됩니다.
  • 101 Switching Protocols: 클라이언트가 서버에 요청한 프로토콜로 전환한다는 의미입니다.

성공 응답 (2xx)

  • 200 OK: 요청이 성공적으로 처리되었습니다. 일반적인 성공 응답입니다.
  • 201 Created: 요청이 성공적으로 처리되었고, 새로운 리소스가 생성되었습니다.
  • 204 No Content: 요청이 성공적으로 처리되었지만, 반환할 콘텐츠가 없습니다.

리다이렉션 (3xx)

  • 301 Moved Permanently: 요청한 리소스가 다른 URI로 영구적으로 이동되었음을 나타냅니다. 클라이언트는 새로운 URI로 요청을 재전송해야 합니다.
  • 302 Found: 요청한 리소스가 임시로 다른 URI에 위치하고 있음을 나타냅니다. 클라이언트는 새로운 URI로 요청을 재전송해야 합니다.
  • 304 Not Modified: 클라이언트가 캐시한 버전과 서버의 리소스가 변경되지 않았음을 나타냅니다.

클라이언트 오류 (4xx)

  • 400 Bad Request: 클라이언트의 요청이 잘못되어 서버가 요청을 처리할 수 없음을 나타냅니다.
  • 401 Unauthorized: 요청이 인증되지 않았거나 유효한 인증 자격 증명이 필요함을 나타냅니다.
  • 403 Forbidden: 요청이 서버에서 금지되어 있어, 클라이언트가 해당 리소스에 접근할 수 없음을 나타냅니다.
  • 404 Not Found: 요청한 리소스를 찾을 수 없음을 나타냅니다. 클라이언트가 잘못된 URL을 요청했을 경우 발생합니다.

401 Unauthorized와 403 Forbidden 차이

401 Unauthorized
요청된 리소스에 접근하기 위해 클라이언트가 인증이 필요함을 나타냅니다. 클라이언트가 인증 자격 증명을 제공하지 않거나 유효하지 않은 경우에 발생합니다.
예시: 사용자가 로그인하지 않은 상태에서 보호된 페이지에 접근하려고 할 때 발생할 수 있습니다.

403 Forbidden
클라이언트가 요청한 리소스에 접근할 권한이 없음을 나타냅니다. 즉, 서버가 요청을 이해했지만, 클라이언트에게 해당 리소스에 대한 접근을 허용하지 않을 때 발생합니다.
예시: 사용자가 로그인한 상태에서 접근 권한이 없는 페이지에 접근하려고 할 때 발생할 수 있습니다. 예를 들어, 관리자가 아닌 사용자가 관리자 전용 페이지에 접근하려고 할 때입니다.

서버 오류 (5xx)

  • 500 Internal Server Error: 서버 내부에서 발생한 에러로 인해 요청을 처리할 수 없음을 나타냅니다. 일반적인 서버 에러입니다.
  • 501 Not Implemented: 서버가 요청한 메서드를 지원하지 않음을 나타냅니다.
  • 503 Service Unavailable: 서버가 현재 요청을 처리할 수 없음을 나타냅니다. 서버가 과부하 상태이거나 유지보수 중일 때 발생합니다.
profile
슬기로운개발생활🤖

0개의 댓글