본문 바로가기
IT개발/Tech Notes

[웹 기초 완벽 정리] 캐시(Cache), 쿠키(Cookie), 세션(Session) 차이점과 로그인 동작 원리

by 시간기억자 2025. 9. 15.
반응형

웹 개발이나 정보처리기사 공부를 하다 보면 꼭 등장하는 개념이 있습니다. 바로 캐시(Cache), 쿠키(Cookie), 세션(Session) 입니다.
처음 접하면 다 비슷해 보이고, 언제 어디에 쓰이는지 헷갈리기 쉽습니다.

이번 글에서는 이 세 가지의 개념과 차이점을 실제 웹페이지 접속 및 로그인 과정과 함께 풀어보겠습니다.
이를 이해하면 단순히 시험 대비뿐 아니라, 실제 웹 개발, 성능 최적화, 사용자 인증 시스템 설계까지 응용할 수 있습니다.


🔹 캐시(Cache)란 무엇인가?

캐시는 자주 쓰는 데이터를 임시로 저장해 두었다가, 다음번 접근 시 더 빠르게 불러오는 기술입니다.
쉽게 말하면 컴퓨터의 ‘단기 기억 장치’ 같은 역할을 합니다.

  • 저장 위치: 브라우저 로컬 저장소, 프록시 서버, CDN, 서버 메모리
  • 용도: 정적 리소스(HTML, CSS, JS, 이미지)를 임시 저장하여 네트워크 요청 최소화
  • 특징:
    • 페이지 로딩 속도 향상
    • 네트워크 트래픽 절감
    • HTTP 헤더(Cache-Control, Expires)로 제어
  • 예시: 썸네일 이미지, API 응답 데이터, CSS 파일

👉 즉, 캐시는 성능 최적화가 핵심 목적입니다.


🔹 쿠키(Cookie)란 무엇인가?

쿠키는 서버가 브라우저에 보내는 작은 데이터 조각(최대 4KB) 입니다.
브라우저는 이를 저장했다가, 같은 서버에 요청할 때마다 자동으로 쿠키를 함께 전송합니다.

  • 저장 위치: 사용자의 브라우저
  • 용도: 로그인 상태 유지, 장바구니, 다크모드 설정 등
  • 특징:
    • 클라이언트 측에 저장됨
    • 브라우저 종료 후에도 만료 기한이 남아 있으면 유지
    • 모든 HTTP 요청마다 자동 포함 → 네트워크 부하 증가 가능
    • 보안 취약 (개발자가 민감 정보를 직접 넣으면 위험)
  • 예시:
    • 로그인 상태 기억(자동 로그인)
    • 다국어 선택(ko/en)
    • 쇼핑몰 장바구니 유지

👉 쿠키는 개인화와 추적을 위한 기술입니다.


🔹 세션(Session)이란 무엇인가?

세션은 서버 측에서 사용자의 상태를 관리하는 방법입니다.
쿠키와 달리, 실제 데이터는 서버에 저장되고, 브라우저에는 단지 ‘세션 ID(열쇠)’만 저장됩니다.

  • 저장 위치: 서버 (DB, 파일, 메모리, Redis 등)
  • 용도: 로그인 정보, 사용자 인증, 권한 관리
  • 특징:
    • 클라이언트는 세션 ID만 보관
    • 서버에서 데이터 유지 → 보안성이 높음
    • 브라우저를 닫으면 보통 만료됨
  • 예시:
    • 로그인된 사용자 정보
    • 관리자 권한 여부
    • 장바구니 (보안이 중요한 경우)

👉 세션은 보안과 인증을 담당합니다.


🔹 캐시 / 쿠키 / 세션 비교표

구분 캐시(Cache) 쿠키(Cookie) 세션(Session)
저장 위치 브라우저 / 서버 / 프록시 브라우저 서버 (세션 ID는 쿠키에)
데이터 크기 제한 없음 (MB 단위 가능) 최대 4KB 크기 제한 없음
데이터 종류 정적 리소스 사용자 선호/로그인 상태 민감한 사용자 데이터
목적 성능 최적화 개인화 / 사용자 추적 인증 / 보안 상태 관리
보안성 낮음 낮음 높음
반응형

댓글