← 질문 목록
#124깊이 0
클라이언트 데이터는 어디에 보관해야 하는가?
수명, 용량, 접근 범위, 서버 전송 필요성으로 고른다. 작은 서버 연동 값은 쿠키에 둔다. 큰 구조화 데이터는 IndexedDB에 둔다.
| 기준 | 쿠키 | IndexedDB |
|---|---|---|
| 서버 전송 | 자동 | 없음 |
| 용량 | 작음 | 큼 |
| API | document.cookie는 동기 | 비동기 |
sessionStorage는 탭이 살아 있는 동안만 필요한 값에 맞다. localStorage는 단순한 장기 설정에 편하지만 동기 API라 큰 데이터를 다루면 메인 스레드를 막는다.
민감한 값을 자바스크립트로 읽을 수 있는 저장소에 두면 XSS에 노출된다. 세션 식별자는 Secure와 HttpOnly를 적용한 쿠키를 우선 검토한다.