AL,ML 학부연구생/공부 기록

인터넷 쿠키(Cookie)란 무엇인가

김형준 2026. 3. 31. 15:16
반응형

1. 개요

쿠키(Cookie)는 웹 서버가 사용자의 브라우저에 저장하는 작은 데이터 조각으로, 사용자의 상태(state)를 유지하기 위한 목적으로 사용된다.

HTTP 프로토콜은 기본적으로 상태를 유지하지 않는(stateless) 구조이기 때문에, 사용자가 누구인지, 로그인 상태인지, 어떤 설정을 선택했는지 등을 기억하기 위해 쿠키가 사용된다.

즉, 쿠키는 “사용자와 관련된 정보를 클라이언트에 저장하여 다음 요청에서도 동일한 상태를 유지하기 위한 메커니즘”이다.


2. 쿠키의 필요성

웹은 기본적으로 요청과 응답이 독립적으로 처리된다.

예를 들어 사용자가 로그인 요청을 보내고 이후 다른 페이지로 이동하면, 서버는 기본적으로 해당 사용자가 누구인지 알 수 없다.

이 문제를 해결하기 위해 쿠키가 사용된다.

쿠키를 통해 다음과 같은 기능이 가능하다.

  • 로그인 상태 유지
  • 사용자 맞춤 설정 저장 (언어, 테마 등)
  • 장바구니 정보 유지
  • 사용자 식별 및 트래킹

3. 쿠키의 동작 원리

쿠키는 다음과 같은 흐름으로 동작한다.

3.1 쿠키 생성

서버는 HTTP 응답 헤더에 Set-Cookie를 포함하여 쿠키를 생성한다.

예:

Set-Cookie: session_id=abc123
 

3.2 쿠키 저장

브라우저는 전달받은 쿠키를 로컬 저장소에 저장한다.


3.3 쿠키 전송

이후 동일한 도메인에 요청을 보낼 때, 브라우저는 자동으로 쿠키를 포함한다.

예:

Cookie: session_id=abc123
 

3.4 서버 식별

서버는 쿠키 값을 통해 사용자를 식별하거나 상태를 복원한다.


4. 쿠키의 주요 구성 요소

쿠키는 단순한 key-value 구조를 가지며, 추가적인 속성을 포함할 수 있다.

4.1 기본 구조

  • 이름 (Name)
  • 값 (Value)

4.2 주요 속성

  • Expires / Max-Age
    쿠키의 만료 시간 설정
  • Domain
    쿠키가 적용되는 도메인 범위
  • Path
    쿠키가 적용되는 URL 경로
  • Secure
    HTTPS 연결에서만 전송
  • HttpOnly
    JavaScript 접근 차단 (보안 강화)
  • SameSite
    크로스 사이트 요청 시 쿠키 전송 여부 제어

5. 쿠키의 종류

쿠키는 저장 방식과 목적에 따라 구분된다.

5.1 세션 쿠키 (Session Cookie)

  • 브라우저 종료 시 삭제
  • 임시 상태 유지에 사용

5.2 영구 쿠키 (Persistent Cookie)

  • 만료 시간까지 유지
  • 자동 로그인, 사용자 설정 저장에 사용

5.3 퍼스트 파티 쿠키 (First-party Cookie)

  • 현재 접속한 사이트에서 생성
  • 일반적인 서비스 기능에 사용

5.4 서드 파티 쿠키 (Third-party Cookie)

  • 다른 도메인에서 생성
  • 광고, 사용자 추적 등에 활용

6. 쿠키의 활용 사례

쿠키는 다양한 웹 서비스 기능 구현에 사용된다.

6.1 로그인 유지

사용자가 로그인하면 세션 ID를 쿠키에 저장하여, 이후 요청에서도 인증 상태를 유지한다.


6.2 사용자 설정 저장

언어, 테마, 폰트 크기 등 개인 설정을 저장하여 사용자 경험을 개선한다.


6.3 장바구니 기능

쇼핑몰에서 상품 정보를 저장하여 페이지 이동 시에도 유지한다.


6.4 사용자 트래킹

사용자의 방문 기록, 클릭 패턴 등을 분석하여 맞춤형 광고 및 추천 서비스에 활용한다.


7. 쿠키와 세션의 관계

쿠키와 세션은 함께 사용되는 경우가 많다.

  • 쿠키: 클라이언트에 저장
  • 세션: 서버에 저장

일반적으로 다음과 같이 동작한다.

  1. 서버가 세션 생성
  2. 세션 ID를 쿠키에 저장
  3. 클라이언트 요청 시 쿠키 전달
  4. 서버는 세션 ID로 사용자 상태 조회

즉, 쿠키는 세션을 식별하는 키 역할을 수행한다.


8. 쿠키의 장점과 단점

8.1 장점

  • 사용자 상태 유지 가능
  • 구현이 단순함
  • 다양한 웹 기능 지원

8.2 단점

  • 보안 취약성 존재 (탈취 가능)
  • 저장 용량 제한 (약 4KB)
  • 사용자 추적 문제 (프라이버시 이슈)

9. 보안 이슈와 대응 방법

쿠키는 보안에 민감한 정보가 포함될 수 있으므로 주의가 필요하다.

9.1 주요 공격

  • 세션 하이재킹 (Session Hijacking)
  • XSS (Cross-Site Scripting)
  • CSRF (Cross-Site Request Forgery)

9.2 대응 방법

  • HttpOnly 설정 → JS 접근 차단
  • Secure 설정 → HTTPS 전용
  • SameSite 설정 → CSRF 방지
  • 민감 정보 직접 저장 금지

10. 캐시와 쿠키의 차이

구분캐시쿠키
목적 성능 향상 사용자 상태 저장
저장 내용 리소스 데이터 사용자 정보
저장 위치 브라우저/중간 서버 브라우저
자동성 자동 처리 비중 큼 서버가 명시적으로 설정

11. 결론

쿠키는 HTTP의 stateless 특성을 보완하기 위해 사용자 상태를 유지하는 핵심 기술이다.

웹 서비스에서 로그인 유지, 사용자 설정 저장, 개인화 기능 구현 등에 필수적으로 사용되며,
보안과 프라이버시를 고려한 설계가 중요하다.

반응형