← 글 목록
쿠키세션인증백엔드

📄 쿠키 vs 세션

쿠키와 세션의 차이, 동작 원리를 시뮬레이터로 직접 확인해보세요
2025년 6월 26일by donghyeun02

🍪 쿠키 동작 과정

쿠키는 브라우저(클라이언트)에 저장되는 작은 데이터입니다. 서버가 응답 시 Set-Cookie 헤더로 전달하고, 이후 모든 요청에 자동으로 포함됩니다.

🍪 쿠키 동작 과정 진행

📁 브라우저 쿠키 저장소

(저장된 쿠키 없음)

1. 서버가 쿠키를 준다

서버가 응답 시 Set-Cookie 헤더로 쿠키를 브라우저에 전달합니다.

이게 무슨 뜻이야? (비유/예시)
(동작 로그가 여기에 표시됩니다)

🗄️ 세션 동작 과정

세션은 서버에 저장되는 사용자별 데이터입니다. 클라이언트는 세션ID(쿠키)를 통해 서버의 세션에 접근합니다.

🗄️ 세션 동작 과정 진행

🗄️ 서버 세션 저장소

(저장된 세션 없음)

1. 로그인 시 세션 생성

사용자가 로그인하면 서버는 고유한 세션 ID를 생성하고 서버 메모리나 DB에 저장합니다.

이게 무슨 뜻이야? (비유/예시)
(동작 로그가 여기에 표시됩니다)

🔄 쿠키 vs 세션 비교

구분쿠키세션
저장 위치클라이언트(브라우저)서버
보안성낮음높음
용량 제한4KB 내외서버 메모리/DB
만료/삭제클라이언트가 직접서버가 관리
데이터 접근JavaScript로 접근 가능서버에서만 접근 가능

📝 쿠키/세션 동작

쿠키 동작 과정

  1. 서버가 쿠키 설정: 서버가 Set-Cookie 헤더로 쿠키를 브라우저에 전달
  2. 브라우저가 쿠키 저장: 브라우저가 쿠키를 로컬 저장소에 저장
  3. 요청 시 쿠키 자동 전송: 같은 도메인 요청 시 쿠키가 자동으로 포함됨
  4. 쿠키 만료/삭제: 만료 시간 도달 또는 사용자가 삭제

세션 동작 과정

  1. 로그인 시 세션 생성: 서버가 고유한 세션 ID 생성 및 저장
  2. 세션 데이터 저장: 사용자 정보, 로그인 상태 등을 세션에 저장
  3. 요청 시 세션 확인: 클라이언트 요청 시 세션 ID로 인증 확인
  4. 세션 만료/삭제: 로그아웃 시 서버에서 세션 삭제

인증 플로우 진행해보기

쿠키/세션 없이 로그인하면, 상태가 유지되지 않아 요청마다 다시 인증해야 합니다.
🖥️ 브라우저
로그인: X
쿠키: (없음)
➡️
🗄️ 서버
세션: (없음)
(동작 로그가 여기에 표시됩니다)
❓ 왜 로그인해도 상태가 유지되지 않을까요?
쿠키나 세션이 없으면, 로그인 성공 후에도 로그인했다는 사실이 브라우저나 서버에 저장되지 않아요.
그래서 새로고침하거나, 다음 요청을 보낼 때 서버는 "이 사용자가 로그인한 적이 있는지" 전혀 알 수 없습니다.
즉, 매번 다시 로그인해야 하는 불편함이 생깁니다.
실제 서비스에서는 반드시 쿠키나 세션 등으로 로그인 상태를 저장합니다!

추후 글 생성