thumbnail

Http Response Code 401, 403

우선 헷갈리는 401, 403 Response code 이다.
두 응답코드를 확실히 비교해보자.

<br>

401 Unauthorized:

If the request already included Authorization credentials, then the 401 response indicates that authorization has been refused for those credentials

401은 쉽게 말해 인증을 요구하는 상태이다
즉 로그인을 하지 않은 상태에서 접근 시 응답한다.

<br>
<br>

403 Forbidden

The server understood the request, but is refusing to fulfill it.

403은 권한이 없음을 나타낸다.
로그인을 하였지만, 권한이 없을 경우 응답한다.

<br>
<br>

404?!

404 Not Found

재밌는것은 404 이다
404 는 자주 볼 수 있는 응답 코드이다.
리소스를 찾을 수 없을때 404로 응답하게된다.

하지만 404를 다른 용도로도 사용할 수 있다

한 예로, Github이 그렇다.

<img src="https://static.podo-dev.com/blogs/images/2019/09/30/origin/bb6c3c5f-0108-4fbb-b8a8-a5dbce755c10.PNG" style="width:720px;">

Github의 Private Repository를
권한이 없는 상태에서 접근하면
403이 아닌, 404로 응답해준다.

?!

왜 404로 응답할까?
존재 자체를 드러내기 싫을때 404를 사용하는 것이다.

403으로 응답한다면,

클라이언트는
'해당 리소스는 있어, 근데 너는 권한이 없단다' 로 이해한다.

따라서 해당 리소스가 있음을 알 수 있다.

하지만 404로 응답한다면
해당 리소스의 존재 자체를 부정할 수 있다.
더 강력한 보안을 보장 할 수 있는것이다. (똑똑!)

<br>
<br>

한 줄 요약

404는 더 강력한 보안을 보장 할 수있다!!

CommentCount 0
이전 댓글 보기
등록
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
TOP