SteadyDrills

웹의 세션, 쿠키, 캐시 본문

웹개발

웹의 세션, 쿠키, 캐시

Drills 2025. 1. 4. 21:20

250104

웹의 세션, 쿠키, 캐시

 

세션 (Session)

세션은 사용자가 웹 애플리케이션에 접속하는 동안의 상태를 유지하기 위한 서버 측 저장소이다. 사용자가 로그인하거나 특정 작업을 수행할 때, 서버는 세션을 생성하여 해당 사용자의 정보를 저장하고, 이 세션은 사용자가 웹사이트를 탐색하는 동안 지속되며, 사용자의 행동을 추적하고 상태를 유지하는 역할을 한다.


쿠키 (Cookie)

쿠키는 웹 브라우저에 저장되는 작은 데이터 조각으로, 사용자의 정보를 클라이언트 측에 저장한다. 웹사이트가 사용자의 브라우저에 쿠키를 저장하면, 사용자가 다시 방문할 때 이 정보를 사용할 수 있다. 주로 사용자 인증, 개인 설정 저장, 장바구니 내용 유지 등에 활용된다.

 

캐시 (Cache)

캐시는 웹 페이지의 리소스(예: 이미지, CSS 파일, JS 파일 등)를 임시로 저장하여 다음번에 동일한 리소스를 요청할 때 더 빠르게 로드할 수 있도록 하는 저장소이다. 주로 성능 향상을 위해 사용되며, 서버의 부하를 줄이는 데도 기여한다.

 

 

세션, 쿠키의 연관성

 

●상호 보완성


  - 세션은 서버에서 사용자 상태를 관리하며, 쿠키는 클라이언트 측에서 세션 ID를 저장하여 사용자의 상태를 유지한다. 즉, 쿠키를 통해 서버는 사용자의 세션을 식별할 수 있다.(보안 강화)
  

 


● 데이터 흐름


  - 사용자가 웹사이트에 로그인할 때, 서버는 세션을 생성하고 세션 ID를 쿠키에 저장한다. 이후 사용자가 페이지를 탐색할 때마다 쿠키를 통해 세션 ID가 서버에 전송되어 사용자의 상태를 유지한다.

 

세션, 쿠키, 캐시의 공통점

 

  • 데이터 저장 웹 애플리케이션에서 데이터를 저장하는 방법이다.
  • 사용자 경험 개선: 웹 사용자 경험을 개선하기 위한 수단이다.

 

 

세션, 쿠키, 캐시의 차이점

항목 쿠키(Cookie) 세션(Session) 캐시(Cache)
저장 위치 클라이언트 로컬(브라우저) 서버 클라이언트 로컬
보안 상대적으로 낮음
(변조 및 탈취 위험)
상대적으로 높음
(서버에 정보 저장)
보안과 관련 없음
(주로 성능 향상 목적)
주요 목적 사용자 상태 유지 및 트래킹 사용자 상태 관리(보안성 강화) 성능 최적화 및 빠른 데이터 제공
수명 만료 시간이 있으며, 브라우저 종료 후에도 남을 수 있음 브라우저 종료 시 소멸 만료시간 설정
or
사용자가 직접 삭제 
속도 빠름
(로컬에서 직접 접근)
느림
(서버 접근 필요)
빠름
(로컬에서 직접 접근)
용량 제한 도메인당 최대 20개,
하나의 쿠키당 4KB
서버 메모리에 따라 다름 제한 없음
(디스크 용량에 따라 다름)

 

'웹개발' 카테고리의 다른 글

장고(Django)의 Routers  (0) 2025.01.10
장고(Django) ViewSets  (3) 2025.01.06
레디스 명령어 모음  (0) 2024.12.23
장고의 세션 저장 원리  (0) 2024.12.19
도커 파일 구성  (0) 2024.12.16