Cookie, SessionStorage, LocalStorage,
WebStorage 란?
Cookie
- 쿠키는 매번 서버로 전송된다.
- 쿠키는 주로 서버측에서 읽기(클라이언트 측에서도 읽을수도 있음)위한것, LocalStorage및 SessionStorage는 클라이언트 측에서만 읽을 수 있다.
SessionStorage
- 데이터의 지속성과 엑세스 범위에 특수한 제한이 존재함.
- 데이터가 지속적으로 보관되지 않는다.(브라우저 기반 세션 쿠키와 성질이 비슷함.)
- 세션에 대해서만 데이터를 저장한다. 따라서 브라우저가 종료되면 데이터도 같이 지워진다(=브라우저 종료되면 SessionStorage도 삭제됨.)
- 데이터는 서버로 전송되지 않음.
LocalStorage
- 저장한 데이터를 명시적으로 지우지 않는 이상, 영구적으로 보관이 가능.
- JavaScript를 통해서만 지워짐.
- 도메인마다 별도로 로컬스토리지가 생성되는데, Windows전역 객체의 LocalStorage라는 컬렉션을 통해 저장/조회가 이루어짐.
- 저장 용량 한도는 쿠키,세션,로컬 중에서 로컬이 가장 높다.
WebStorage
- 웹스토리지는 HTML5에서 Cookie의 단점을 보완해서 만든 기술임.
- 웹의 데이터를 클라이언트에 저장할 수 있는 새로운 자료구조인 WebStorage 스펙이 포함되어있음.
- key/value 의 형태로 이루어져서 데이터를 저장하고, key를 기반으로 데이터를 조회한다.
- 영구저장소(로컬)와 임시저장소(세션)를 따로 두어 데이터의 지속성을 구분할 수 있어서 응용 환경에 맞는 선택이 가능함.
- 용량의 제한이 없고, 영구 데이터 저장이 가능하다.
- HTML5에 WebStorage 스펙을 새로 추가했다고해서 Cookie를 배제한다는 의미가 아니다. 여전히 HTML5에서도 Cookie 이용이 가능하다.