Cookie/session란 무엇인가?

C__W.A·2025년 2월 6일
0

네트워크 / HTTP

목록 보기
12/12

쿠키(Cookie)와 세션(Session)은 웹 브라우저와 웹 서버 간의 상태를 유지하고 관리하기 위한 기술입니다.

✅ 쿠키(Cookie)

쿠키는 웹 서버가 웹 브라우저에 전송하는 작은 데이터 조각입니다. 주요 특징은 다음과 같습니다:

  • 웹 브라우저의 쿠키 스토리지에 저장됩니다.
  • 이름, 값, 도메인, 경로, 만료 시간 등의 정보를 포함합니다.
  • 서버에서 생성되고 웹 브라우저에 저장됩니다.
  • 주로 세션 관리, 개인화, 사용자 행동 추적에 사용됩니다

✅ 세션(Session)

세션은 클라이언트의 상태 정보를 서버에 저장하고 관리하는 기술입니다13. 주요 특징은 다음과 같습니다:
클라이언트의 상태 데이터를 서버에 저장합니다.

  • 세션 ID를 생성하여 웹 브라우저의 쿠키에 저장합니다1.
  • 브라우저가 종료되기 전까지 클라이언트의 요청을 유지합니다1.
  • 보안상 쿠키보다 안전한 방법입니다.

쿠키와 세션의 차이점

저장 위치
쿠키: 클라이언트(웹 브라우저)에 저장
세션: 서버에 저장

보안
쿠키: 클라이언트에 저장되어 보안에 취약할 수 있음
세션: 서버에 저장되어 상대적으로 안전함

라이프사이클
쿠키: 설정된 만료 시간에 따라 삭제됨
세션: 브라우저 종료 시 삭제됨

📌 세션-쿠키 인증 요약

🧑‍💻 개요

세션-쿠키 인증은 HTTP 기본 인증의 한계를 해결하며, 사용자의 로그인 상태를 유지하기 위해 세션 ID를 생성하고 쿠키에 저장하는 방식입니다.

✅ 작동 방식

  • 초기 요청
    클라이언트가 보호된 리소스에 접근 시도 → 서버가 로그인 요청.

  • 인증 과정
    클라이언트가 사용자명·비밀번호 제출 → 서버가 검증 후 세션 ID 생성.

  • 세션 저장
    서버는 세션 정보를 저장(메모리, DB 등)하고, Set-Cookie 헤더로 세션 ID를 클라이언트에 전달.

  • 인증 유지
    이후 요청에서 클라이언트가 세션 쿠키를 포함해 전송 → 서버가 세션 ID를 확인 후 액세스 허용.

  • 세션 종료
    로그아웃 또는 만료 시 서버는 세션을 무효화하고 클라이언트는 쿠키 삭제.

📌 핵심 개념: 세션 ID 기반 인증, 쿠키 저장·전송, 서버와 클라이언트 간 세션 검증.

📌 세션-쿠키 인증의 제한 사항 요약

보안 취약점

  • 세션 하이재킹
    공격자가 세션 쿠키를 탈취하여 사용자를 가장할 수 있음.

  • CSRF 공격
    악의적인 요청을 통해 사용자가 모르는 사이에 행동을 실행할 수 있음. (대응책: 안티-CSRF 토큰, 재인증 요구)

확장성 문제

  • 서버 메모리에 세션을 저장하면 리소스 소모가 크며, 사용자 수 증가 시 성능 병목 현상 발생 가능.
  • 독립적인 세션 서버를 사용하면 확장성과 신뢰성을 개선할 수 있음.

모바일 환경의 불편함

  • 모바일 네이티브 앱에서 세션 쿠키를 관리하는 과정이 웹 브라우저보다 복잡하여 개발 부담 증가.

📌 대책: 보안 강화를 위해 HTTPS 사용, 보안 토큰 적용, 세션 저장 방식 최적화 필요.

profile
기술은 문제를 해결하기 위해 존재한다

0개의 댓글

관련 채용 정보