- 위 세 가지 기술은 모두 브라우저를 기반으로 한 클라이언트 측에서 값을 저장하는 key-value 저장소 매커니즘이다.(client storage)
- 모두 문자열로만 값을 저장할 수 있다.
- 유저가 브라우저를 통해 쉽게 데이터를 수정할 수 있다는 단점이 있다. 따라서 중요한 데이터를 저장하는 용도로 적합하진 않다.
localStorage
장점
- localStorage는 cookie의 더 발전된 형태라고 볼 수 있음
- cookie보다 저장할 수 있는 데이터의 용량이 큼
- 모든 http request마다 데이터를 서버로 보내지 않는다. 따라서 트래픽을 줄일 수 있다.
- 영구적으로 데이터를 저장할 수 있음
단점
- same-origin policy를 기반으로 작동하기 때문에, 저장된 데이터는 오로지 same origin에서만 접근 가능하다.
sessionStorage
localStorage와 비슷하나, 오로지 브라우저의 tab(window)이 열려있을 때만 접근이 가능하다 (page session 내에서). tab이 닫히면 데이터는 삭제된다.
단점
Cookie
주로 authentication에서 토큰을 다를 때 주로 사용된다.
이 세가지 중에서는 가장 한정적이다.
단점
- 용량이 매우 적다. (최대 4000 bytes)
- 모든 http request마다 서버로 데이터를 보내기때문에 트래픽이 증가한다.