cookielocalstoragesessionstorage
cookie, localStorage, sessionStorage의 차이를 설명해 주세요
- 예상 시간
- 6분
30초 답변
꼬리질문
조금 더 깊게 물어본다면
답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.
localStorage에 access token을 저장해도 되나요?
sessionStorage는 새로고침하면 사라지나요?
cookie는 JavaScript로 항상 읽을 수 있나요?
IndexedDB는 어디에 들어가나요?
부가 설명
localStorage.setItem("theme", "dark");
sessionStorage.setItem("draft", "hello");이 두 저장소는 JavaScript로 쉽게 읽고 쓸 수 있습니다.
Set-Cookie: sid=abc; HttpOnly; Secure; SameSite=Laxcookie는 server가 header로 설정할 수 있고, 요청에 자동 포함될 수 있습니다.
localStorage는 간단하지만 동기 API라 큰 데이터를 자주 읽고 쓰면 main thread에 부담이 될 수 있습니다. 또 JavaScript로 접근 가능하므로 XSS에 노출되면 값이 털릴 수 있습니다.
cookie는 자동 전송이 장점이자 위험입니다. CSRF를 고려해야 하고, 민감 정보는 HttpOnly, Secure, SameSite 같은 옵션과 함께 설계해야 합니다.
한 줄 정리
cookie는 요청 전송과 보안 옵션이 핵심이고, localStorage/sessionStorage는 JavaScript가 다루는 origin 기반 저장소입니다.