쿠키와 세션

ITmakesmeSoft·2022년 10월 18일
0

WEB

목록 보기
3/5

  • 서버와 클라이언트 간 지속적인 상태 유지를 위해 존재

쿠키(Cookie)

  • HTTP 쿠키는 상태가 있는 세션을 만들도록 해 줌
  • 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각
  • 사용자가 웹사이트를 방문할 경우 해당 웹사이트의 서버를 통해 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일
    • 브라우저(클라이언트)는 쿠키를 로컬에 KEY-VALUE의 데이터 형식으로 저장
    • 동일한 서버에 재요청 시 저장된 쿠키를 함께 전송
  • 쿠키는 두 요청이 동일한 브라우저에서 들어 왔는지 여부를 판단할 때 주로 사용
    • 이를 이용하여 사용자의 로그인 상태를 유지할 수 있음 (매 요청마다 쿠키를 함께 전송)
    • 상태가 없는(stateless) HTTP 프로토콜에서 상태 정보를 기억시켜 주기 때문
  • 즉, 웹 페이지에 접속하면 웹 페이지를 응답한 서버로부터 쿠키를 받아 브라우저에 저장하고, 클라이언트가 같은 서버에 재요청 시마다 요청과 함께 저장해 두었던 쿠키도 함께 전송

쿠키 사용 목적

  • 세션 관리(Session Management)
    • 로그인, 아이디 자동완성, 공지 하루 안보기, 팝업 체크, 장바구니 등의 정보 관리
  • 개인화(Personalization)
    • 사용자 선호, 테마 등의 설정
  • 트래킹(Tracking)
    • 사용자 행동을 기록 및 분석
    • 사용자 맞춤 광고 등에도 활용

쿠키의 수명(Lifetime)

  • Session Cookie
    • 현재 세션(current session)이 종료되면 삭제됨
    • 브라우저 종료와 함께 세션이 삭제됨
  • Persistent Cookies
    • Expires 속성에 지정된 날짜 혹은 Max-Age 속성에 지정된 기간이 자나면 삭제됨

세션 (Session)

  • 사이트와 특정 브라우저 사이의 상태를 유지시키는 것
  • 클라이언트가 서버에 접속하면 서버가 특정 session id를 발급하고, 클라이언트는 session id를 쿠키에 저장
    • 클라이언트가 다시 동일한 서버에 접속하면 요청과 함께 쿠키를 서버에 전달
    • 쿠키는 요청 때마다 서버에 함게 전송되므로 서버에서 session id를 확인해 알맞은 로직을 처리
    • session id는 세션을 구별하기 위해 필요하며 쿠키에는 session id만 저장
profile
💎 Daniel LEE | SSAFY 8th

0개의 댓글