웹 어플리케이션은 브라우저 API를 사용하여 사용자의 컴퓨터에 데이터를 저장할 수 있다.
- 클라이언트 사이드 스토리지는 웹 브라우저의 메모리처럼 사용된다.
- 클라이언트 사이드 스토리지는 출처에 따라 구분된다.
다른 사이트의 페이지에서 저장한 데이터는 읽을 수 없다. 반면 같은 사이트 내 다른 페이지의 스토리지는 공유할 수 있고, 페이지 사이의 통신 매커니즘으로 사용할 수 있다.
웹 스토리지
localStorage
, sessionStorage
로 구분된다. 문자열 키와 문자열 값을 연결한 지속성 있는 객체이다. 꽤 많은 데이터를 저장 할 수 있지만, 막대한 양을 저장할 수는 없다.
Window 객체의 localStorage, sessionStorage 프로퍼티는 스토리지 객체를 참조한다.
- 스토리지 객체의 프로퍼티 값은 문자열만 쓸 수 있다.
- 스토리지 객체에 저장된 프로퍼티는 지속성을 가진다.
- 새로고침시에도 저장한 값을 그대로 사용할 수 있다.
로컬스토리지
- 저장된 데이터를 만료하지 않는다.
- 문서 출처에 종속된다.
- 동일 출처 정책에 의해서 프로토콜, 호스트 이름, 포트 기준으로 같은 localStorage 데이터를 공유한다.
- 같은 출처의 경우, 데이터를 읽고 쓸 수 있으며 출처가 다른 문서인 경우 데이터를 읽거나 수정할 수 없다.
- 실행 중인 스크립트가 같은 서드 파티 서버에서 가져온 스크립트인 경우에도 불가능하다.
- 브라우저에 종속된다.