[HTTP] 401 Unauthorized와 403 Forbidden의 차이

개발/CS 2022. 9. 13. 08:20

간혹 API 예외처리를 하다보면 어드민만 사용할 수 있어야하거나, 내 정보의 수정/삭제 같이 권한에 민감한 PATCH, DELETE 메소드 api들에 대한 예외가 발생 시 예외 상황에 맞는 HTTP 상태코드를 전달해야하는데 같은 예외 사항에 대해 가끔 403 Forbidden과 401 Unauthorized를 혼용하는 경우가 있었다. HTTP 401 Unauthorized 401 상태 코드는 해당 클라이언트가 인증되지 않았거나, 유효한 인증 자격 증명이 없기 때문에 요청이 거부되었음을 나타내는 상태이다. 해당 코드는 인증되지 않은 클라이언트가 요청을 전송하였기에 요청의 정상 처리가 불가함을 나타내는 것이다. 대표적으로 내 정보 조회/수정 같이 유저 민감 정보를 핸들링하는 경우와 같이 유저 인증이 필요한 ..