쿠키, 세션, 캐시 특징과 차이

jun ho Jeon·2023년 1월 27일
0

web service

목록 보기
2/2

벨로그를 시작하면서 했던 다짐..

기본기가 탄탄해야 한다.

웹 개발자라면 쿠키, 세션, 캐시에 대해서는 누구나 들어봤을것이고,
실제로 업무에서도 빈번하게 사용하기 때문에 정확히 알고 넘어가는게 좋다.

실제로 후배 개발자들에게 쿠세캐(쿠키, 세션, 캐시)에 대한 질문을 던졌을 때, 명확히 아는 사람이 드물었고 물론 나도 조금이나마 헷갈렸거나 혹 몰랐던것들에 대해서 다시 공부하는 계기로 생각하며 쿠세캐의 특징과 차이를 알아보려한다.



1. 쿠키(Cookie)🍪

(1) 특징

  • 웹 브라우저에 저장되는 작은 텍스트 파일
  • http 요청시 헤더에 포함 (Set-Cookie)
  • 이름, 값, 만료기간, 경로정보가 있으며 키와 값으로 구성되어 있음
  • 클라이언트 브라우저에 저장되기 때문에 보안성이 낮음
  • 속도 빠름

(2) 통신방법

  • 클라이언트는 서버에 request (최초)
  • 클라이언트의 정보를 저장한 쿠키를 서버는 클라이언트에게 response
  • 서버로 부터 전달받은 쿠키를 브라우저는 생성/보존
  • http header에 쿠키를 실어서 서버에 request (최초 이후)

(3) 제약조건

  • 클라이언트는 최대 300개의 쿠키를 저장할 수 있음
  • 하나의 도메인당 20개의 쿠키를 가질수 있고, 20개가 넘으면 가장 적게 사용되는 것 부터 삭제
  • 쿠키의 용량 : 4KB(4096byte)

(4) 사용 예시

  • 쇼핑몰 장바구니, 오늘 하루 다시 보지 않기 팝업, 검색 내역

2. 세션(Session)🖇️

세션은 쿠키를 기반으로 한다.

(1) 특징

  • 웹 서버에 저장되는 쿠키
  • 브라우저 종료시 삭제
  • 보안성이 높음
  • 쿠키에 비해 느린 속도

(2) 통신방법

  • 클라이언트가 서버에 접속시 서버는 세션id 발급하고 사본을 저장
  • 서버는 클라이언트에게 발급한 세션id를 쿠키에 담아서 전달 (Set-Cookie: session_id = test)
  • 클라이언트가 페이지에 재접속할 때, 저장된 세션id를 서버에 전달
  • 서버는 클라이언트로 전달받은 세션id로 판별

통신방법에서 알 수 있듯이 세션도 쿠키를 이용해서 통신한다. 대신 정보를 클라이언트(브라우저)가 아닌 서버에 한다는 점이 다를 뿐..

(4)예시

  • 브라우저에서 최초 로그인 후 브라우저 자체가 아닌 브라우저의 탭을 끄더라도 로그인 상태 유지

3. 캐시💵

(1) 특징

  • 리소스 파일 임시 저장소
  • 최초 로컬pc에 저장
  • 최초 이후 서버 접근 대신 로컬 pc의 캐시에 접근
  • 반복적으로 이용하는 컨텐츠를 빠르게 이용 할 수 있음
  • 이미지, 동영상, css, js 파일 등

4. 쿠키, 캐시 차이점

쿠키와 캐시의 특징들을 살펴보다보면 얘네는 무슨 차이점이 있지 하고 의문을 가질 수 있다.

쿠키 캐시 모두 정보를 재활용 하는 기술
but, 쿠키는 사용자의 수고를 덜어 주는데 초점, 캐시는 서비스 이용속도를 높이는데 초점






이렇게만 알고 있어도 쿠세캐를 설명하는데 큰 무리는 없을 것이다.
다 알고 있는 내용이라고 생각하겠지만 뒤돌아서면 까먹는게 사람..
반복하여 읽고 머리속에 제대로 집어 넣자

profile
데부업

0개의 댓글