쿠키/세션/캐시

Jaeyeon·2021년 5월 19일
0

🤔 쿠키 / 세션 / 캐시의 차이점

쿠키

사이트를 방문하고 이용할 때 마다 브라우저에 저장되는 내용
웹 브라우저가 임의로 지우거나 고칠 수 있고 보안에 취약하다.
(자동 로그인 유지, 위시 리스트 저장, 팝업 보지 않기)

쿠키의 동작 방식

  1. 클라이언트가 페이지를 요청
  2. 서버에서 쿠키를 생성
  3. HTTP 헤더에 쿠키를 포함 시켜 응답
  4. 브라우저가 종료되어도 쿠키 만료 기간이 있다면 클라이언트에서 보관하고 있음
  5. 같은 요청을 할 경우 HTTP 헤더에 쿠키를 함께 보냄
  6. 서버에서 쿠키를 읽어 이전 상태 정보를 변경 할 필요가 있을 때 쿠키를 업데이트 하여 변경된 쿠키를 HTTP 헤더에 포함시켜 응답

세션

서버에 저장되는 쿠키. 클라이언트와 서버의 통신 상태.
주로 중요한 데이터를 저장 시 사용 브라우저를 종료할 때까지 유지 됨
사용자 로컬이 아닌 서버에 직접 저장되므로,세션 내의 데이터를 탈취하는 것은 어려움
-> 보안성이 비교적 높음

세션의 동작 방식

  1. 클라이언트가 서버에 접속 시 세션 ID를 발급받습니다.
  2. 클라이언트는 서버에서 발급받은 세션ID를 쿠키에 저장하게 되고 요청을 보낼 때 마다 쿠키를 보낸다.
  3. 클라이언트는 서버에 요청할 때, 이 쿠키안에 세션 ID를 서버에 전달해서 사용합니다.
  4. 서버는 세션 ID를 전달 받아서 별다른 작업없이 세션 ID로 세션에 있는 클라이언트 정보를 가져옵니다.
  5. 클라이언트 정보를 가지고 서버 요청을 처리하여 클라이언트에게 응답합니다.

캐시

리소스 파일들의 임시 저장소.
같은 웹 페이지에 접속할 때 사용자의 PC에서 로드하므로 서버를 거치지 않아도 된다.

쿠키 - 영화티켓 / 정보를 내가 직접 가지고 있는 것
세션 - 모바일 영화 상영권 / 정보를 특정 매개체에서 직접 관리하고 있는 것
편리성 부분: 쿠키 > 세션
보안성 부분: 쿠키 < 세션

profile
생각하는 개발자 되기

0개의 댓글