본문 바로가기
IT

쿠키와 세션, 미들웨어

by seohmoon 2022. 6. 17.

쿠키의 사용 목적

1. 세션 관리

로그인, 아이디 자동완성, 공지 하루 안보기, 팝업 체크, 장바구니 등의 정보 관리

 

2. 개인워

ㄴ사용자 선호, 테마 등의 설정

 

3. 트래킹

사용자 행동을 기록 및 분석

 


세션(session)

사이트와 특정 브라우저 사이의 상태를 유지시키는 것

 

클라이언트가 서버에 접속하면 서버가 특정 session id를 발급하고, 클라이언트는 발급 받은 session id를 쿠키에 저장

- 클라이언트가 다시 서버에 접속하면 요청과 함께 쿠키(session id가 저정된)를 서버에 전달

- 쿠키는 요청 때마다 서버에 함께 전송되므로 서버에서 session id를 확인해 알맞은 로직을 처리

ID는 세션을 구별하기 위해 필요하며, 쿠키에는 ID만 저장함


쿠키 lifetime(수명)

쿠키의 수명은 두 가지 방법으로 정의할 수 있음

 

1. Session cookies

- 현재 세션이 종료되면 삭제됨

- 브라우저가 '현재 세션'이 종료되는 시기를 정의

   - [참고] 일부 브라우저는 다시 시작할 때 세션 복원을 사용해 세션쿠키가 오래 지속 될 수 있도록 함

 

2. Persistent cookies (or Permanent cookies)

- Expires속성에 지정된 날짜 혹은 Max-Age 속성에 지정된 기간이 지나면 삭제 


 미들웨어 

- HTTP 요청과 응답 처리 중간에서 작동하는 시스템(hooks)

- Django는 HTTP 요청이 들어오면 미들웨어를 거쳐 해당 URL에 등록되어 있는 view로 연결해주고,

   HTTP 응답 역시 미들웨어를 거쳐서 내보냄

- 주로 데이터 관리, 애플리케이션 서비스, 메시징, 인증 및 API 관리를 담당

댓글