쿠키
서버에서 유저의 웹 브라우저에 보낼 수 있는 작은 데이터 (4kb 정도)
목적
- 세션 관리 : 로그인 하고 있는 유저 정보, 장바구니 등 기억해야 하는 정보
- 개인화 : 유저 설정, 테마 정보 등
- 추적 : 유저 행동 추적
세션
쿠키를 이용해 구현되나 서버 안에 별도의 세션 스토어를 가지고 있음
세션쿠키
- 보관 기간이 정해지지 않은 쿠키 (max-age, expires 지정X)
- 브라우저를 닫을 때 쿠키도 항상 같이 삭제
쿠키와 세션의 차이
- 모범답안: 쿠키는 로컬 컴퓨터에 저장되어 보안에 취약하고, 세션은 사용자의 정보를 서버에 저장하기 때문에 쿠키에 비해서 안전한 편이다
- 보충답안: 세션도 쿠키를 이용해 구현되나, 세션은 서버에 저장되는 세션 스토어가 있어야 하고 서버가 임의의 시점에 해당 세션을 무효화 시킬 수 있는 특징이 있다. 쿠키는 브라우저 헤더에 담겨서 클라이언트와 지속적으로 주고 받는 과정에서 서버가 임의로 무효화 하기 힘들다.
- 세션도 쿠키를 통해 구현하는 것이기 때문에 세션과 쿠키를 딱 잘라 구별하는 것은 옳지 않음