쿠키, 세션, 토큰

codeing999·2022년 8월 20일
0

Computer Science

목록 보기
2/2

쿠키

쿠키는 일단 브라우저에만 해당하는 개념으로,
사용자에게 줘도 별로 위험하지 않은 정보들을 사용자가 매번 들고 다니게 하는 개념이다.
ex) 이 사용자는 한국어로 이 사이트를 본다. 이 사이트는 오늘 하루동안 공지를 안보기로 했다.

세션

세션은 사용자나 다른 사람들에게 보여주기 민감한 정보를 서버가 갖고 있는 것을 말한다.
사용자가 로그인을 하면 해당하는 서버는 고유 세션ID를 만들고 세션ID와 기타 정보들을 DB에 저장한다.
그리고 세션ID를 사용자에게 주고 사용자는 쿠키로 세션ID를 들고 다닌다.
사용자가 다른 요청을 할 때 이 세션ID를 제출하면 서버는 DB에서 해당 정보를 확인 후 인증 해준다.

쿠키는 이 때 세션ID를 전달하는 역할 뿐이다.
사용자들의 정보를 저장할 DB를 구성해야하는 비용이 발생한다.

세션은 DB에 사용자들의 정보를 추가로 담을 수 있기때문에 추가적인 기능이 가능하다.
ex) 인스타그램에서 다른 기기에서 로그인되어 있는 것을 선택해서 로그아웃 시킬 수있다.
넷플릭에스에서 한 계정 당 몇명이서 같이 이용할 수 있는지 제한할 수 있다.

토큰

토큰 하면 그냥 JWT토큰을 생각하면 되나보다. 그건 전에 작성했으니 자세한건 생략. 쿠키처럼 사용자가 들고 다니는 것인데 헤더에 들어가고 인증에만 쓰인다고 보면 되려나.

서버에 무언가를 저장하지 않아도 된다는 장점이 있다.

일부만 암호화를 하므로 암호화된게 아니다. 다른 사람들도 내용을 볼 수가 있다. 토큰은 위조되지 않았음만을 판단하여 사용자를 인증한다.

profile
코딩 공부 ing..

0개의 댓글