401 Unauthorized는 이름과 달리 '인증되지 않음'을 뜻합니다. 자격 증명이 없거나 유효하지 않다는 의미이며, 서버는 WWW-Authenticate 헤더로 어떤 인증이 필요한지 알려줍니다. 로그인하거나 토큰을 갱신하면 해결되는 경우가 많습니다.
403 Forbidden은 인증은 되었지만 해당 리소스에 접근할 권한이 없다는 뜻입니다. 다시 로그인해도 결과는 같습니다. 사용자 역할·권한, 리소스 소유권, IP·방화벽(WAF) 규칙, OAuth 스코프를 점검해야 합니다.
요약하면 401은 '네가 누구인지 모르겠다', 403은 '누구인지는 알지만 허용할 수 없다'입니다. 보안상 리소스의 존재 자체를 숨기려고 403 대신 404를 반환하는 서버도 있습니다.