PromleeBlog
sitemap
aboutMe

posting thumbnail
로컬스토리지와 세션스토리지 - 브라우저 저장소
Local Storage and Session Storage - Browser Storage

📅

🚀

들어가기 전에 🔗

이번 시간에는 클라이언트, 즉 사용자의 브라우저에 데이터를 저장하는 방법에 대해 알아보겠습니다.
과거에는 주로 쿠키(Cookie)를 사용했지만, 쿠키는 용량이 작고 모든 HTTP 요청에 자동으로 포함되어 네트워크에 부담을 준다는 단점이 있었습니다.
이러한 문제를 해결하기 위해 HTML5부터
웹 스토리지 API(Web Storage API)
가 등장했으며, 그 핵심이 바로
로컬스토리지
세션스토리지
입니다.

이 두 기술은 사용법이 거의 똑같아서 혼동하기 쉽지만, '데이터가 언제까지 살아남는가'라는 결정적인 차이점을 가집니다.
오늘은 두 저장소의 특징과 차이점을 명확히 비교하고, 어떤 상황에 무엇을 사용해야 하는지 알아보겠습니다.

🚀

로컬스토리지 (Local Storage): 닫히지 않는 '영구 보관함' 🔗

로컬스토리지
는 데이터를 사용자의 브라우저에
영구적으로
저장하는 Key-Value 형태의 저장소입니다.
'영구적'이라는 말은, 브라우저 창을 닫거나 컴퓨터를 재부팅해도 데이터가 사라지지 않고 계속 남아있다는 의미입니다.
데이터는 자바스크립트 코드를 통해 명시적으로 삭제하기 전까지는 절대 지워지지 않습니다.

🚀

세션스토리지 (Session Storage): 닫히면 사라지는 '임시 보관함' 🔗

세션스토리지
역시 Key-Value 형태의 저장소지만, 데이터가
현재의 '세션' 동안에만
유지된다는 결정적인 차이가 있습니다.
여기서 '세션'이란, 쉽게 말해
브라우저 탭 하나
라고 생각할 수 있습니다.
사용자가 브라우저 탭을 닫으면, 해당 탭의 세션스토리지에 저장된 모든 데이터는 즉시 사라집니다.
// 데이터 저장
sessionStorage.setItem('tempData', '이것은 임시 데이터입니다.');
 
// 데이터 조회
const tempData = sessionStorage.getItem('tempData');
로컬스토리지 & 세션스토리지
로컬스토리지 & 세션스토리지

🚀

주요 면접 예상 질문 🔗

두 저장소와 쿠키의 차이점은 프론트엔드 개발자의 기본기를 확인하는 단골 질문입니다.

1. 로컬스토리지와 세션스토리지의 차이점을 설명해주세요. 🔗

두 기술의 핵심적인 차이를
영속성
스코프
관점에서 설명하는 것이 좋습니다.
로컬스토리지와 세션스토리지는 모두 웹 스토리지 API의 일부로, 사용법은 동일하지만
데이터의 영속성(생명 주기)
스코프(유효 범위)
에서 큰 차이가 있습니다.
로컬스토리지
는 데이터를 명시적으로 삭제하지 않는 한
영구적으로
보존되며, 동일한 출처의 모든 탭과 창에서 데이터를
공유
합니다.
반면,
세션스토리지
는 데이터가
현재 탭의 세션 동안에만
유지되고, 탭을 닫으면 데이터가 즉시 사라집니다.
또한, 데이터는 현재 탭에만 국한되며 다른 탭과
공유되지 않습니다.

2. 쿠키와 웹 스토리지(로컬/세션스토리지)의 차이점은 무엇인가요? 🔗

쿠키와의 근본적인 차이점, 특히 서버 통신 관점을 짚어주는 것이 핵심입니다.
가장 큰 차이점은
서버와의 통신 방식
용량
입니다.
쿠키
는 매 HTTP 요청마다 헤더에 자동으로 포함되어 서버로 전송되므로, 인증과 같이 서버가 알아야 하는 상태를 유지하는 데 사용됩니다.
하지만 이 때문에 네트워크 트래픽에 부담을 주고, 용량도 약 4KB로 매우 작습니다.
반면,
웹 스토리지
는 서버로 자동 전송되지 않고 오직 클라이언트 측에서만 사용됩니다.
자바스크립트를 통해 수동으로 데이터를 가져와 서버에 보내야만 합니다.
용량도 약 5-10MB로 쿠키보다 훨씬 크기 때문에, 순수하게 클라이언트 측의 데이터를 저장하는 데 더 적합합니다.

🚀

결론 🔗

오늘은 브라우저에 데이터를 저장하는 두 가지 방법, 로컬스토리지와 세션스토리지에 대해 알아보았습니다.

참고 🔗