쿠키와 세션의 차이

유수민·2022년 7월 10일
0

지식창고

목록 보기
12/64

📌쿠키와 세션의 등장배경

클라이언트의 정보 유지를 하기 위해 쿠키와 세션이 필요하다.
HTTP 프로토콜은 상태유지를 하지 않는다는 특징을 가지고 있다. 즉, 이전통신을 통해 데이터를 주고 받았더라도 이전 데이터 정보를 유지하지 않기 때문에 다음 통신때 해당 데이터를 사용할 수 없다는 것이다.
실제로는 데이터 유지가 필요한 경우가 많기 때문에, 상태값을 저장할 수 있는 쿠키와 세션이 필요하게 된 것입니다.  클라이언트에 정보를 파일로 남기는것을 "쿠키" 라고 하고 서버에서 별도로 저장하는 것을 "세션" 이라고 한다.

ex) 정보가 유지되지 않으면, 매번 페이지를 이동할 때마다 로그인을 다시 하거나, 상품을 선택했는데 구매 페이지에서 선택한 상품의 정보가 없거나 하는 등의 일이 발생할 수 있다.

📌쿠키

HTTP의 일종으로 사용자가 어떠한 웹 사이트를 방문할 경우, 그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일이다.
쿠키는 클라이언트 로컬에 저장되는 키와 값(key,value)이 들어있는 작은 데이터 파일로 이름, 값, 만료 날짜/시간(쿠키 저장기간), 경로 정보등이 들어있다. 쿠키는 클라이언트의 상태 정보를 로컬에 저장했다가 요청(Request)할 때 참조된다.
쿠키는 서버측에서 만료 날짜/시간을 지정하여 정해진 시간동안 데이터(상태정보)를 유지할 수 있습니다. (로그인 상태 유지에 활용된다)

📖1. 쿠키 사용 목적

1) 세션 관리(Session Management)

로그인, 사용자 닉네임, 접속 시간, 장바구니 등의 서버가 알아야할 정보들을 저장한다.

2) 개인화(Personalization)

사용자마다 다르게 그 사람에 적절한 페이지를 보여줄 수 있다.

3) 트래킹(Tracking)

사용자의 행동과 패턴을 분석하고 기록한다.

📖2. 쿠키 사용 사례

  • 자동로그인, 팝업에서 "오늘 더 이상 이 창을 보지 않음" 체크, 쇼핑몰의 장바구니
  • ID 저장, 로그인 상태 유지
  • 7일간 다시 보지 않기. (쿠키에 체크한 날짜를 기록하여 다시 방문 했을 때의 시간과 시차를 이용하여 계산)
  • 최근 검색한 상품들을 광고에서 추천
  • 쇼핑몰 장바구니 기능

📌세션

일정 시간 동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 유지시키는 기술이다.여기서 일정 시간은 방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점부터 웹 브라우저를 종료하여 연결을 끝내는 시점을 말한다.
웹 서버에 웹 컨테이너의 상태를 유지하기 위한 정보를 저장합니다. 서버에 정보를 잠시 저장할 수 있는 특별한 저장 공간이다.

📖1. 동작

📖2. 사용사례

  • 한 페이지 내에서 로그인하고 페이지 내의 다른 페이지들을 왔다갔다 할 때도 로그인 정보가 유지되어야 할때.
  • 로그인과 같이 보안에 필요한 작업에 사용
profile
배우는 것이 즐겁다!

0개의 댓글