쿠키 vs 세션 vs 토큰

미누·2023년 6월 22일
0

web

목록 보기
1/2

쿠키

  • 쿠키를 이용하여 서버는 브라우저에 데이터를 제공 가능
  • 같은 도메인 내에서 한정적으로 사용
  • 유효 기간 존재

세션

  • 최초 로그인 시, 서버는 세션 DB에 해당 유저의 unique id를 생성
  • 해당 세션 id는 쿠키를 통해 브라우저로 돌아와 저장 됨
  • 같은 웹사이트의 다른 페이지로 이동할 때마다 해당 쿠키를 서버에게 전송
  • 받은 쿠키에 담긴 세션 id 검증
  • 응답 결과 반환
  • 앱에선 사용 불가, 브라우저에만 존재
  • 이 경우, 토큰을 활용

토큰

  • 이상하게 생긴 string의 조합
  • 세션 & 쿠키와 마찬가지로 동작
  • 요청이 있을 때마다 DB 전체를 탐색해야 됨
  • 이는 유저가 늘어남에 따라, DB의 리소스가 더 필요하게 되는 상황
  • 이를 해결하기 위해, JWT를 활용

JWT

  • 토큰 형식
  • 유저 인증에 세션 DB가 불필요
  • 로그인에 성공한 유저의 정보를 담은 토큰에 sign(해쉬화, 시크릿키로 encoding)을 하여 전달
  • 서버에 요청 시, 토큰을 전달
  • 서버에서 토큰의 유효성을 검사
  • 응답 값 전달

profile
Dev Notes, with bit of JS?

0개의 댓글