사용자별 데이터를 저장하고 관리하는 방법으로 요청과 함께 서버로 전송된다. 로그인 정보, 사용자 기본 설정, 쇼핑 카트 내 품목과 같은 사용자 세션을 유지한다. 이 외에도 개인 맞춤형 콘텐츠 및 광고, 사용자 동작 추적 등 다양한 목적으로 활용된다. 사용자의 브라우저에 특정 시간 동안만 저장되고 그 이후에는 만료된다.
단, 사용자 동작 추적과 민감한 개인 정보 저장시 악용될 수 여지가 있으므로 쿠키를 비활성해서 개인 정보를 보호하는 편이 좋다. Set-Cookie HTTP 헤더를 사용하여 서버 측에서 설정하거나 JavaScript 또는 기타 클라이언트 측 스크립팅 언어를 사용하여 클라이언트 측에서 액세스 할 수 있다.
key:value
로 이루어진 웹 스토리지 기술. 웹 페이지를 새로고침 하거나 브라우저를 종료한 이후에도 데이터가 유지된다. 쿠키와 달리 서버에 전송되지 않기 때문에 서버 부하를 줄일 수 있다. 사용자 인증 정보, 검색어, 필터링 설정 같은 데이터 저장시 유용하다.
로컬 스토리지와 대부분 유사하나 데이터 삭제 시점에서 차이가 있다. 영구적인 로컬 스토리지와 달리 웹 브라우저 혹은 탭 종료 시 삭제된다. 또한 세션 스토리지는 탭이나 창을 기준으로 데이터를 저장하기 때문에 같은 웹 페이지를 여러 개의 탭이나 창에서 열었을 시, 각 탭과 창에서 별도의 저장소를 사용한다.
- | 쿠키 | 로컬 스토리지 | 세션 스토리지 |
---|---|---|---|
용도 | 로그인 정보, 사용자 설정, 장바구니 정보, 광고 타겟팅, 방문자 분석 등 | 검색어, 필터링, 앱 설정, 즐겨찾기, 히스토리, 대용량 데이터(이미지, 동영상) | 로그인 정보와 같이 웹 사이트 방문 시 생성되는 데이터 |
용량 | 4KB | 5MB ~ 10MB | 5MB ~ 10MB |
만료일 | 만료일 설정 후 해당 일자 이후 삭제 | 영구적 | 브라우저나 탭 종료 시 혹은 세션 만료 시 삭제 |
서버 전송 | HTTP 요청과 함께 전송 | X | X |
도메인 제한 | 다른 도메인에서 접근하도록 설정 가능 | 해당 도메인 내에서만 접근 | 해당 도메인 내에서만 접근 |