Session / Cookie / Cache

오민영·2021년 7월 7일
0

HTTP Protocol

목록 보기
6/7
post-thumbnail

세션과 쿠키와 캐시의 구체적인 차이

우선, 세션은 서버에 데이터를 저장. 즉 서버의 자원을 사용하기 때문에 서버 자원에 한계가 있고, 메모리를 사용하다보면 속도 저하가 올 수 있다.

쿠키와 캐시를 사용하는 이유는 서버가 사용자에게 빠른 검색 결과를 제공하기 위한 것이다.

개념

캐시(로컬:서버접근불가)

  • 웹 페이지 요소(CSS, JS, HTMl, Image)의 임시 저장소

쿠키(로컬:서버접근불가)

  • 클라이언트(사용자) 정보

세션(서버)

  • 클라이언트(사용자) 정보

정의

캐시

  • 웹 페이지 요소(CSS, JS, HTMl, Image)의 임시 저장소

쿠키

  • 클라이언트 로컬에 저장되는 key와 value가 들어있는 작은 데이터 파일, HTTP 헤더에 저장되는 텍스트 파일! (구성요소: 이름, 값, 유효시간, 도메인, 경로)

세션

  • 일정시간동안 같은 브라우저로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 유지하는 기술

목적

캐시

  • 페이지 로딩속도 개선

쿠키

  • 유저의 행동 패턴 분석, 웹 서버쪽에서 사용자 식별을 위한 session 트레킹

저장 위치

캐시

  • 클라이언트의 캐시 메모리 (클라이언트의 브라우저)

쿠키

  • 클라이언트 컴퓨터 (브라우저 / 하드디스크)

세션

  • 서버 메모리에 저장

저장내용

캐시

  • Image, CSS, JS, HTML, Audio, 검색기록, 사용문서내역 등

쿠키

  • 유저의 선호도 (사이트 접속 내역, 검색기록 내역, 다운로드 내역, 최근 열어본 문서기록, 방문 기록, 방문 횟수, 로그인 정보, 자동 로그인 유지, 위시리스트 저장, 팝업 유무, 이전 스크롤링 등...)

세션

  • 로그인된 아이디, 개인정보 등 사용자에게 보여지면 안되는 정보를 저장

보안

쿠키

  • 파일로 저장되는 경우, 탈취 / 변조될 위험이 있고, Request/Response에서 스나핑을 당할 수 있어 보안이 비교적 취약하다. 절대로 중요 데이터는 저장해선 안된다.

세션

  • 클라이언트 정보 자체가 서버에 저장되므로 보안에 안전하다.

Life Cycle

캐시

  • 사용자가 수동으로 삭제(강제 새로고침)

쿠키

  • 만료 기간에 따른 자동삭제 또는 수동 삭제

세션

  • 서버에서 만료시간/날짜를 정해서 지워버릴 수 있고, 세션 쿠키에 세션 ID를 정한 경우 브라우저 종료 시 세션 아이디가 날아가면서 지워버릴 수 있다.

속도

쿠키

  • 서버에 요청시 헤더를 참조하면 바로 보여질 수 있어서 속도에 유리하다.

세션

  • 제공받은 세션 ID를 이용해 서버에서 다시 데이터를 참조해야 하므로 속도가 비교적 느릴 수 있다.

Reference

참고

profile
이것저것 정리하는 공간

0개의 댓글