우선 비교하기 이전에 3가지를 모두 알아야 할 것 같습니다.
쿠키는 서버가 클라이언트단에 전송하는 Key-Value의 한쌍으로 이루어져있는 작은 데이터 조각입니다.
작은 데이터 조각은 서버에 저장 하여, 동일한 서버에서 재요청 할 시 저장된 데이터를 함께 전송합니다.
ex) 페이지 이동, 새로고침 등등...
Key-Value으로 이루어져있으며, 만료기간, 도메인, 경로 등의 정보를 저장하여 가지고 있다.
클라이언트에 총 300개의 쿠키를 저장할 수 있다.
하나의 도메인 당 20개의 쿠키를 가질 수 있다.
클라이언트가 어떤 정보를 요청한다.
나 무슨무슨 사이트 들어갈거야!
서버는 쿠키를 생성한다.
클라이언트가 들어간 사이트의 서버가 쿠키를 생성한다.
생성한 쿠키를 요청한 정보(HTTP 헤더)와 함께 돌려 보낸다.
서버가 생성한 쿠키와 클라이언트가 들어온 사이트의 정보를 클라이언트에게 같이 보내준다.
클라이언트는 로컬에 쿠키를 저장한다.
서버가 생성한 쿠키를 클라이언트의 로컬에 저장한다.
재방문 시 이미 쿠키가 있는 경우 서버에 쿠키를 보낸다.
무슨무슨 사이트를 재방문 할 경우 기존에 저장했던 클라이언트의 쿠키를 무슨무슨 사이트로 보낸다.
세션 관리(Session management)
서버에 저장해야 할 로그인, 장바구니, 게임 스코어 등의 정보 관리
개인화(Personalization)
사용자 선호, 테마 등의 세팅
트래킹(Tracking)
사용자 행동을 기록하고 분석하는 용도
데이터 유효기간 지정이 가능하다.
XSS(사이트간 악성 js 코드를 심는 행위)로 부터 안전, 서버에서 쿠키의 HttpOnly 옵션을 설정하면 JS에서 쿠키에 접근 자체가 불가능하다.
클라이언트 측에 저장되기 때문에 변조(tampering)나 도용(theft)의 위험이 있다.
- 쿠키는 총 300개의 쿠키까지만 저장 가능
- 하나의 도메인 당 20개의 쿠키까지 저장 가능
- 위의 사진같은 경우 사이즈가 작으 편입니다만, 쿠키의 사이즈가 커질 경우 부하가 심해져 속도가 느려질 수 있습니다.