LocalStorage vs SessionStorage 살펴보기

Sep 01, 2023
LocalStorage vs SessionStorage 살펴보기
웹 애플리케이션을 개발할 때 데이터를 클라이언트 측에 저장해야 할 경우가 있습니다. 주로 쿠키나 웹 스토리지를 사용하는데, 그 중 웹 스토리지의 두 종류인 ‘LocalStorage’와 ‘SessionStorage’를 정리해 보려 합니다.
 

웹 스토리지(Web Storage)란?

 
우선 웹 스토리지에 대해 알아보면, 웹 스토리지는 브라우저에서 키와 값의 형태로 데이터를 저장할 수 있는 클라이언트 측 저장소입니다. 이는 쿠키(Cookie)와는 달리, 데이터의 크기 제한이 크고, 서버에 자동으로 데이터가 전송되지 않아 성능에 더 유리한 특징을 가집니다.
 
브라우저 개발자도구를 이용하여 저장소에 저장된 값을 확인할 수 있습니다.
notion image
브라우저별 저장소
  • Microsoft Edge: 개발자도구 → 응용프로그램 → 저장소
  • Firefox: 개발자도구 → 저장소
  • Chrome: 개발자도구 → 애플리케이션
 
 

쿠키(Cookie) vs 웹 스토리지(Web Storage)

Cookie
Web Storage
구조
‘Cookie-name : Cookie-value’
‘Key : Value’
저장 데이터
문자열
문자열 객체
용량
약 4KB
약 10MB
갯수
약 150개
제한 없음
소멸 시간 설정
가능
불가능
자원 소모
많음 (매번 서버로 전송)
적음 (필요한 경우에만 전송)
[출처]
 

LocalStorage vs SessionStorage

이제 본격적으로 웹 스토리지의 두 종류인 LocalStorage와 SessionStorage에 대해 알아보겠습니다.
 
가장 큰 차이점은 소멸 시점과 접근범위입니다.
  • LocalStorage: 소멸 시점을 직접 설정해야 하고, 같은 브라우저에서 소멸 이전까지 저장소를 공유합니다.
  • SessionStorage: 세션을 종료하면 데이터가 소멸되고, 해당 세션에 대한 저장소만 접근이 가능합니다.
 
이에 따라 활용 용도에 따라 저장소를 결정 해야 합니다. 클라이언트 저장소를 사용하는 몇 가지 사례들을 살펴보겠습니다.
💡
사례 1. 멀티 탭 다중 로그인 방지
SessionStorage의 경우 다른 탭(세션)에서 접근이 불가능 하므로, 해당 경우에는 LocalStoage를 사용해야 합니다.
💡
사례 2. 다국어 페이지 언어 선택
사용자가 보고 있는 탭에서만 언어 선택이 바뀌어야 한다면, SessionStorage가 적당합니다.
💡
사례 3. 광고 다시 보지 않기 클릭
사용자가 브라우저를 닫고, 이후에도 해당 광고를 보지 않게 하기 위해서 LocalStorage를 사용해야 합니다.
 

WebStorage 사용법 (JavaScript)

  • LocalStorage
// LocalStorage에 데이터 저장하기 localStorage.setItem('myKey', 'myValue'); // LocalStorage에서 데이터 가져오기 const value = localStorage.getItem('myKey'); // value: 'myValue' // LocalStorage에서 데이터 지우기 localStorage.removeItem('myKey'); // LocalStorage 모든 데이터 지우기 localStorage.clear();
 
  • SessionStorage
// SessionStorage에 데이터 저장하기 sessionStorage.setItem('mySessionKey', 'mySessionValue'); // SessionStorage에서 데이터 가져오기 const sessionValue = sessionStorage.getItem('mySessionKey'); // sessionValue: 'mySessionKey' // SessionStorage에서 데이터 지우기 sessionStorage.removeItem('mySessionKey'); // SessionStorage모든 데이터 지우기 sessionStorage.clear();
 

실습

직접 브라우저 저장소를 확인해 보세요.
 

마무리

 
웹 애플리케이션에서 데이터를 효율적으로 저장하기 위한 웹 스토리지, LocalStorageSessionStorage에 대해 짧게 다루었습니다.
LocalStorage는 지속적인 데이터 저장에 적합하며, SessionStorage는 임시 세션 내 데이터 저장에 이상적입니다. 개발 목적과 사용자의 요구에 따라 적절한 저장소를 선택하는 것이 중요합니다.
이 포스트를 통해 웹 스토리지에 대한 기본적인 이해를 얻으셨길 바랍니다.
 
Share article