Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- NoSQL
- Wil
- nginx
- Doker
- git
- SQL
- 아티클 스터디
- 장고
- 티스토리챌린지
- web
- ERD
- CS
- 쿠키(cookie)
- 개발공부
- flask
- 세션(Session)
- 코딩테스트
- 오블완
- viewsets
- 연습
- github
- 도커
- docker
- Python
- 자료구조
- Til
- redis
- 파이썬
- JWT
- django
Archives
- Today
- Total
SteadyDrills
웹의 세션, 쿠키, 캐시 본문
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 |