[CS] 1. Cookie, Session, Cache

쿠키 (Cookie)

특징

  • 클라이언트(로컬, 브라우저)에 저장되고 통신 시의 이름, 경로, 상태 등의 정보가 key, value로 저장
  • 접근 권한이 모두에게 주어지기 때문에 보안이 매우 약함
  • 만료 기간 지정이 가능하며 브라우저 종료 시에도 유지 가능
  • 세션에 비해 빠른 속도

조건

  • 1개 당 4KB
  • 클라이언트는 300개까지 저장 가능
  • 도메인 당 20개까지 저장 가능하며, 초과할 경우 빈도수가 낮은 것부터 삭제

통신 절차

(1) 클라이언트가 Request 신호 보냄
(2) 서버에서 Request header에 쿠키가 없는 것을 확인
(3) 요청한 Request에 대한 정보를 저장한 쿠키를 답변
(4) 브라우저에서 받은 쿠키를 생성 및 보존
(5) 쿠키가 보존된 경우, HTTP header에 쿠키와 함께 서버에 호출

팝업 차단, 즐겨찾기, 자동 로그인 유지 등

세션 (Session)

특징

  • 서버에 저장되는 쿠키
  • 주로 중요한 데이터를 저장 시에 사용하며, 브라우저를 종료할 때까지 유지
  • 서버에 직접 저장되기 때문에 보안이 쿠키에 비해 높음

통신 절차

(1) 브라우저와 서버 연결 시, 세션 ID 발급
(2) 서버에서 발급된 **세션 ID를 쿠키를 이용해 저장**
(3) 클라이언트는 재접속 시, 쿠키에 저장된 세션 ID로 서버 호출
(4) 서버는 Request header에 세션 ID로 클라이언트 판별

캐시 (Cache)

특징

  • CPU 안에 들어가는 작은 메모리
  • Resource file 임시 저장하여 동일한 웹 사이트 접속 시 로딩 시간을 줄여줌

조건

  • 임시 저장되는 Resource에 대한 판단은 시간 지역성 & 공간 지역성을 따름

    python의 loop문에 사용되는 'i'의 경우 시간 지역성
    접근하는 list객체를 공간 지역성의 특징을 보여줌

참고: https://parksb.github.io/article/29.html

좋은 웹페이지 즐겨찾기