반응형
웹 개발이나 정보처리기사 공부를 하다 보면 꼭 등장하는 개념이 있습니다. 바로 캐시(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 | 크기 제한 없음 |
| 데이터 종류 | 정적 리소스 | 사용자 선호/로그인 상태 | 민감한 사용자 데이터 |
| 목적 | 성능 최적화 | 개인화 / 사용자 추적 | 인증 / 보안 상태 관리 |
| 보안성 | 낮음 | 낮음 | 높음 |
반응형
'IT개발 > Tech Notes' 카테고리의 다른 글
| 💼 SI와 SM, 개발자라면 꼭 알아야 할 차이 — 차이점, 장단점, 커리어 방향까지 완벽 정리 (0) | 2025.10.29 |
|---|---|
| 🌐 HA(High Availability, 고가용성)란? 시스템을 멈추지 않게 하는 기술의 핵심 (0) | 2025.10.29 |
| 🚀웹사이트 조회수 폭발! SEO A-Z: 검색 엔진 최적화부터 핵심 전략까지 완벽 가이드 (0) | 2025.06.18 |
| UML 스테레오 타입(Stereotype) 완벽 정복: UML 확장 메커니즘과 활용법 (4) | 2025.06.14 |
| 객체지향 핵심 '관계(Relationships)' 완전 분석: 연관, 집합, 포함, 일반화 총정리 (5) | 2025.06.05 |
댓글