CS 공부

쿠키와 세션의 차이

NiceKHJ 2025. 5. 27. 13:23

웹은 기본적으로 상태를 기억하지 못하는 stateless 구조라서 로그인 상태나 사용자 정보를 저장하려면 쿠키와 세션 같은 방법이 필요하다.

 

쿠키와 세션이 필요한 이유

  • 웹은 기본적으로 상태 저장 불가 (stateless)
  • 로그인 상태 유지, 사용자 식별 같은 기능을 위해 쿠키와 세션으로 상태를 저장하는 구조를 사용

쿠키 or 세션 ?

  • 쿠키 : 브라우저에 저장 -> 간단한 정보, 자동 로그인, 장바구니 등에 사용
  • 세션 : 서버에 저장 -> 로그인 상태, 인증 처리에 사용 (보안 ↑)

 

쿠키란 ?

  • 브라우저에 저장되는 작은 데이터 조각
  • 서버가 쿠키를 내려주면 브라우저는 요청마다 쿠키를 자동으로 서버에 같이 보낸다.
  • 로그인 정보, 사용자 설정, 장바구니 같은 간단한 정보 저장에 사용

쿠키 특징

  • 저장 위치 : 브라우저
  • 저장 크기 : 4KB 제한
  • 유효 기간 설정 가능 (예 : 7일)
  • 보안 : 클라이언트에 저장되므로 XSS 공격에 취약
    XSS란? 웹사이트에 악성 스크립트를 심어서 사용자 브라우저에서 실행시키는 공격
  • 요청마다 자동으로 서버에 전송됨

 

세션이란 ?

  • 서버에서 사용자 상태를 저장
  • 클라이언트는 쿠키에 세션 ID만 저장하고 서버가 이 ID로 사용자 구분
  • 로그인 상태 유지, 사용자 인증 관리에 주로 사용

세션 특징

  • 저장 위치 : 서버
  • 클라이언트는 세션 ID만 쿠키로 들고 다님
  • 브라우저 종료 시 기본적으로 삭제 (세션 만료)
  • 보안 : 쿠키보다 상대적으로 안전 (데이터는 서버에 있음)

 

쿠키 vs 세션 비교

구분 쿠키 (브라우저 저장) 세션 (서버 저장)
저장 위치 브라우저 서버
저장 내용 로그인 정보, 사용자 설정 로그인 상태, 사용자 인증 정보
만료 시점 유효 기간 설정 브라우저 종료 시 기본 삭제
특징 요청마다 자동 전송, XSS 위험 세션 ID만 쿠키에 저장, 서버 메모리 사용
사용 예 자동 로그인, 장바구니 등 로그인 상태 유지, 인증 처리

'CS 공부' 카테고리의 다른 글

TCP와 UDP 개념 및 차이점 , 예시  (0) 2025.06.02
DNS, IP, 포트, TCP, 3-Way Handshake까지 네트워크 흐름 정리  (1) 2025.05.29
요청과 응답의 흐름  (0) 2025.05.27
브라우저의 동작 원리  (0) 2025.05.26
HTTP 와 HTTPS  (0) 2025.05.26