드디어!
서버의 가장 기본이라고 할 수 있는 ‘인증’ 에 대해 공부해봅시다.
우리가 어떤 서비스를 사용하든 ‘회원가입’ 그리고 ‘로그인’ 을 하죠.
이때 ‘로그인’을 통해 서비스를 이용하는걸 ‘인증 (Authentication)’이라고 합니다.
그리고 서버 개발자가 인증에 대한 내용을 구현할 때에는 ‘Session’, ‘Cookie’, ‘JWT’에 대해 잘 알고 있어야 해요.
우리가 Http에 대해 공부할 때 ‘stateless’라는 단어를 몇번 들어봤을 거에요.
stateless는 말 그대로 ‘상태가 없다’라는 의미인데요.
http 프로토콜 자체가 처음에 설계될 때 ‘상태를 유지하는 것은 어플리케이션 레벨에서 처리해야 한다’라는 원칙을 가지고 있었기 때문에 그래요.
우리가 어떤 사이트에 들어가서 장바구니 페이지에서 물건을 담고, 주문 페이지로 넘어갔더니 장바구니가 텅 비어있는 상황이 사실 기본인거죠.
그래서 우리는 ‘상태’를 유지하기 위해 여러 작업들을 해줘야 해요.
그리고 대표적으로 session, cookie, jwt가 그 작업에 사용되는 거고요.
<aside> 💡
사용자가 웹사이트와 상호작용하는 동안 발생하는 정보를 서버에 저장하는 방식입니다. 쉽게 말하면, “사용자가 누군지 기억하는 서버의 메모장”이라고 생각하면 됩니다.
</aside>