김 컴퓨터


쿠키(Cookie) 종합 가이드

쿠키(Cookie)는 웹 서버가 사용자의 브라우저에 저장하는 작은 텍스트 데이터 파일입니다. HTTP의 '상태 없음(Stateless)' 특성을 극복하고 사용자를 식별하기 위한 도구로 사용됩니다.


1. 쿠키의 주요 기능

  1. 세션 관리: 로그인 상태 유지, 장바구니 정보 저장 등.
  2. 개인화: 사용자 설정(언어, 다크모드, 팝업 다시 보지 않기 등) 기억.
  3. 트래킹: 사용자의 행동을 분석하여 맞춤형 광고 제공.

2. 로그인 시 쿠키의 작동 프로세스

  1. 인증 요청: 사용자가 아이디/비밀번호로 로그인을 시도합니다.
  2. 세션 생성 및 쿠키 발급: 서버는 정보를 확인한 후, 서버 메모리에 세션을 생성하고 그에 해당하는 세션 ID를 쿠키에 담아 브라우저로 보냅니다.
    • 예: Set-Cookie: session_id=abc12345; HttpOnly; Secure
  3. 쿠키 저장: 브라우저는 해당 쿠키를 로컬 저장소에 저장합니다.
  4. 자동 제출: 이후 사용자가 웹사이트 내 다른 페이지로 이동할 때마다, 브라우저는 해당 쿠키를 HTTP 헤더에 담아 서버에 자동으로 전송합니다.
  5. 상태 유지: 서버는 쿠키의 세션 ID를 확인하여 매번 로그인할 필요 없이 서비스를 이용하게 해줍니다.

3. 보안 설정 (Attributes)

로그인 쿠키는 민감하므로 아래 설정이 필수입니다. * HttpOnly: 자바스크립트를 통한 쿠키 접근을 차단하여 XSS 공격 방어. * Secure: HTTPS 연결에서만 쿠키가 전송되도록 설정. * SameSite: CSRF(사이트 간 요청 위조) 공격을 방어하기 위한 설정 (Lax, Strict, None).


4. 쿠키 vs 로컬 스토리지

특징 쿠키 (Cookie) 로컬 스토리지 (Local Storage)
용량 작음 (약 4KB) 큼 (약 5MB+)
자동 전송 서버 요청 시마다 자동 포함 자동 전송 안 됨 (직접 처리 필요)
만료일 설정 가능 (만료 시 삭제) 영구적 (직접 삭제 전까지 유지)