쿠키
클라이언트 측(브라우저)에 저장됩니다.
클라이언트에 저장되므로 사용자가 접근 가능합니다.
보안에 취약할 수 있으며 변조 가능성이 있습니다.
HttpOnly, Secure 플래그로 일부 보안 강화 가능합니다.
만료 시간을 설정할 수 있으며, 설정하지 않으면 브라우저 종료 시 삭제됩니다.
maxAge 또는 expires 속성으로 수명을 제어합니다.
브라우저에 직접 저장되며 자바스크립트로 접근 가능합니다(HttpOnly 아닌 경우)
document.cookie로 관리 가능합니다.
대표적인 사용 사례 : 사용자 기본 설정 저장, 비로그인 장바구니 정보, 추적 및 분석
세션
서버 측에 저장되며, 클라이언트는 세션 ID만 가지고 있습니다.
중요 데이터는 서버에 안전하게 저장됩니다.
클라이언트는 식별자(세션 ID)만 가지므로 더 안전합니다.
일반적으로 사용자 활동이 없으면 일정 시간 후 서버에서 만료됩니다.
브라우저를 닫으면 대부분 세션이 종료됩니다(세션 쿠키 사용 시).
대표적인 사용 사례 : 인증된 사용자 정보 관리, 중요한 사용자 상태 정보, 일시적인 플로우 데이터를 목적으로 사용
세션 스토리지
브라우저의 웹 스토리지 API의 일부
클라이언트 측에서 데이터를 임시 저장하는 공간
키-값 쌍으로 데이터 저장
오직 클라이언트 측에만 존재
서버와 직접적인 관계 없음
브라우저 탭/창을 닫으면 즉시 삭제됨
같은 탭에서의 페이지 새로고침에는 유지됨
Javascript로 직접 접근: sessionStorage.setItem(),,
도메인 단위로 격리됨 (Same Origin Policy)
세션 쿠키
만료 시간(Expires/Max-Age)이 설정되지 않은 쿠키
브라우저 메모리에만 저장됨
브라우저를 완전히 닫으면 자동으로 삭제됨
세션 ID가 이런 세션 쿠키에 저장될 경우, 브라우저를 닫으면 세션 ID가 사라짐
지속 쿠키
명시적인 마료 시간이 설정된 쿠키
브라우저 종료 후에도 디스크에 저장되어 유지됨
만료 시간이 지나야 삭제됨