웹 저장소 (Local storage vs Session storage vs Cookie) 차이점 비교 🔍

2025. 3. 4. 23:16·JavaScript

웹 브라우저에는 데이터를 저장할 수 있는 Local Storage, Session Storage, Cookies같은 저장 공간이 존재한다.

HTML5부터는 새로운 웹 저장소인 Web Storage(Local Storage & Session Storage) 개념이 추가되었다.

 

보통 변수에 데이터를 저장하면 새로고침하면 사라지지만, 브라우저 저장소를 활용하면 새로 고침을 해도 유지할 수 있다.

그럼 각 저장 방식의 차이점을 한 번 살펴보자! 🔍


1️⃣ Web Storage 🗃️

☑️ Local Storage (영구 저장소)

  • 데이터를 브라우저에 영구적으로 저장할 수 있다.
  • 브라우저를 종료해도 데이터가 유지된다.
  • 단, 같은 도메인에서만 접근 가능하다.

☑️ Session Storage (임시 저장소)

  • 데이터를 브라우저에 영구적으로 저장할 수 있다.
  • 브라우저를 종료해도 데이터가 유지된다.
  • 단, 같은 도메인에서만 접근 가능하다.

🔍 Web Storage vs Cookie 차이점

  Web Storage (Local/Session) Cookies
서버 전송 여부 ❌ 서버로 전송되지 않음 ✅ 매 요청마다 자동으로 서버에 전송
저장 데이터 유형 문자열 외에도 객체 저장 가능 문자열 데이터만 저장 가능
저장 용량 크롬/파이어폭스: 10MB, 사파리: 5MB 사이트당 최대 4KB
유효 기간 Local Storage는 영구적, Session Storage는 브라우저 종료 시 삭제 만료 기간 지정 가능

2️⃣ Cookies 🍪

쿠키는 서버와 클라이언트 간에 데이터를 지속적으로 주고받기 위한 저장소이다.

서버에서 사용자의 웹 브라우저로 작은 데이터 조각을 전송하면, 브라우저는 이를 저장했다가 이후 Backend API 요청 시 자동으로 전송한다.

 

☑️ 쿠키의 주요 기능

• 세션 관리 → 로그인 정보, 접속 시간 등 유지

• 개인화 → 사용자 맞춤형 페이지 제공

• 트래킹 → 사용자 행동 및 패턴 분석


3️⃣ 저장 방식 비교

☑️ Web Storage (Local/Session)

// 데이터 저장
localStorage.setItem("user", "John");
sessionStorage.setItem("sessionData", "Temporary Info");

// 데이터 가져오기
localStorage.getItem("user"); // "John"
sessionStorage.getItem("sessionData"); // "Temporary Info"

// 데이터 삭제
localStorage.removeItem("user");
sessionStorage.removeItem("sessionData");

// 모든 데이터 삭제
localStorage.clear();
sessionStorage.clear();

 

☑️ Cookie

// 쿠키 저장
document.cookie = "username=John; expires=Fri, 31 Dec 2025 23:59:59 GMT; path=/";

// 쿠키 가져오기
const myCookie = document.cookie.split("; ").find(row => row.startsWith("username="));
const result = myCookie ? myCookie.split("=")[1] : "";
console.log(result); // "John"

4️⃣ 결론

  • 자주 변경되는 데이터 → Session Storage (브라우저 종료 시 삭제)
  • 장기 저장할 데이터 → Local Storage (브라우저 종료 후에도 유지)
  • 서버와 자동으로 주고받아야 하는 데이터 → Cookies (로그인 토큰, 사용자 설정 등)

'JavaScript' 카테고리의 다른 글

이벤트 루프가 대체 뭐길래? JS 개발자라면 꼭 알아야 할 개념  (0) 2025.03.04
scope와 hoisting 그리고 var, let, const의 차이점  (0) 2025.03.04
'JavaScript' 카테고리의 다른 글
  • 이벤트 루프가 대체 뭐길래? JS 개발자라면 꼭 알아야 할 개념
  • scope와 hoisting 그리고 var, let, const의 차이점
Lucy96
Lucy96
개발새발 프론트엔드 개발자
  • Lucy96
    Lucy dev ✨
    Lucy96
  • 전체
    오늘
    어제
    • 분류 전체보기 (18)
      • JavaScript (3)
      • React (1)
      • HTTP (1)
      • GIS (1)
      • 회고 (3)
      • Dev (7)
      • CSS (1)
      • DB (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    프론트엔드
    react
    CSS
    scope
    논블로킹
    cliend id
    JavaScript
    소셜로그인
    localStorage
    geojson
    토스
    Cookie
    회고
    oauth
    webapis
    자바스크립트엔진
    Google Cloud Platform
    콜백큐
    gcp
    BEM
    이벤트루프
    Hoisting
    sessionStorage
    scss
    cors
    Mapbox
    토스모닥불
    HTTP
    OAuth 2.0
    블로킹
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Lucy96
웹 저장소 (Local storage vs Session storage vs Cookie) 차이점 비교 🔍

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.