쿠키, 로컬스토리지, 세션스토리지는 무엇이 다를까
웹 사이트를 이용할 때 자동 로그인이 유지되거나 쇼핑몰 장바구니에 담아둔 상품이 그대로 남아있는 원리는 무엇일까요? 사용자의 브라우저에는 데이터를 보관하는 여러 형태의 저장 공간이 존재합니다. 대표적인 웹 스토리지 기술인 쿠키, 로컬스토리지, 세션스토리지의 특징과 차이점을 이해하면 웹 서비스의 동작 방식을 한눈에 파악할 수 있습니다.
1. 서버와 매번 대화하는 조그만 저장소, 쿠키(Cookie)
쿠키는 웹 사이트가 사용자의 브라우저에 저장하는 아주 작은 데이터 파일입니다. 가장 큰 특징은 사용자가 새로운 페이지를 요청하거나 서버에 신호를 보낼 때마다 쿠키에 담긴 데이터가 자동으로 함께 전송된다는 점입니다.
쉽게 비유하자면 놀이공원의 자유이용권 손목 띠와 같습니다. 기구를 탈 때마다 내 이름과 신분을 일일이 설명하지 않아도 손목 띠만 보여주면 입장할 수 있듯이, 서버가 나를 식별할 수 있도록 도와줍니다. 하지만 매 요청마다 데이터가 함께 이동하므로 크기가 보통 4KB 이하로 제한되며, 너무 많은 쿠키는 네트워크 속도에 영향을 줄 수 있습니다.
2. 영구 보관함과 일회성 보관함: 웹 스토리지(Web Storage)의 이해
쿠키의 용량 제한과 보안상 아쉬운 점을 보완하기 위해 등장한 기술이 바로 웹 스토리지입니다. 웹 스토리지는 데이터를 서버로 자동 전송하지 않고 순수하게 브라우저 내부에만 안전하게 보관하므로 네트워크 부담이 없습니다.
웹 스토리지는 크게 로컬스토리지와 세션스토리지라는 두 가지 저장소로 나뉩니다. 두 기술 모두 쿠키보다 훨씬 큰 약 5MB 이상의 용량을 제공하여 다양한 정보를 여유 있게 저장할 수 있습니다. 저장된 데이터는 서버가 아닌 브라우저 자바스크립트를 통해 제어됩니다.
3. 쿠키 로컬스토리지 차이 및 세션스토리지 비교 정리
쿠키 로컬스토리지 차이를 구분하는 가장 명확한 기준은 데이터의 만료 시간과 서버 전송 여부입니다. 쿠키는 서버나 클라이언트가 지정한 만료 날짜가 지나면 자동으로 삭제되지만, 로컬스토리지는 사용자가 직접 브라우저 기록을 비우거나 삭제하지 않는 한 반영구적으로 보관됩니다.
반면 세션스토리지는 브라우저의 특정 탭이나 창이 열려 있는 동안만 데이터를 유지합니다. 탭을 닫는 순간 저장되어 있던 데이터가 깔끔하게 사라지는 일회성 저장소입니다. 예를 들어 은행 사이트의 입력 폼 정보나 일회성 보안 인증처럼 창을 닫았을 때 데이터가 파기되어야 하는 상황에 세션스토리지 데이터를 활용합니다.
웹 브라우저 저장소를 알맞게 활용하는 방법
보안이 중요한 로그인 인증 토큰 등은 보안 옵션(HttpOnly 등)을 적용한 쿠키에 저장하고, 다크모드 설정이나 사용자 선호 옵션처럼 삭제되어도 서비스 이용에 큰 지장이 없는 데이터는 로컬스토리지에 저장하는 것이 일반적입니다.
이처럼 각 브라우저 저장소는 데이터 보관 기간, 용량, 네트워크 전송 여부에 따라 뚜렷한 역할을 가지고 있습니다. 저장소의 목적과 특징을 이해하면 더욱 안전하고 쾌적한 웹 서비스를 이용하고 이해하는 데 큰 도움이 됩니다.