cookielocalstoragesessionstorage

cookie, localStorage, sessionStorage의 차이를 설명해 주세요

예상 시간
6
30초 답변

꼬리질문

조금 더 깊게 물어본다면

답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.

localStorage에 access token을 저장해도 되나요?

부가 설명

localStorage.setItem("theme", "dark");
sessionStorage.setItem("draft", "hello");

이 두 저장소는 JavaScript로 쉽게 읽고 쓸 수 있습니다.

Set-Cookie: sid=abc; HttpOnly; Secure; SameSite=Lax

cookie는 server가 header로 설정할 수 있고, 요청에 자동 포함될 수 있습니다.

localStorage는 간단하지만 동기 API라 큰 데이터를 자주 읽고 쓰면 main thread에 부담이 될 수 있습니다. 또 JavaScript로 접근 가능하므로 XSS에 노출되면 값이 털릴 수 있습니다.

cookie는 자동 전송이 장점이자 위험입니다. CSRF를 고려해야 하고, 민감 정보는 HttpOnly, Secure, SameSite 같은 옵션과 함께 설계해야 합니다.

한 줄 정리

cookie는 요청 전송과 보안 옵션이 핵심이고, localStorage/sessionStorage는 JavaScript가 다루는 origin 기반 저장소입니다.