쿠키 / 세션 / 캐쉬

‍정진철·2022년 9월 3일
0

CS Knowledge

목록 보기
1/1

1. 쿠키

  • 쿠키는 '유저' 본인이 가지고 다니는 데이터.
  • 쿠키를 이용해서 서버는 유저의 브라우저에 데이터를 전송시킬 수 있음.
  • 사이트를 이용하고 방문시 브라우저에 저장되는 내용들.
  • 유저가 브라우저 방문시 해당쿠키와 함께 서버에 요청을 보냄.
  • 쿠키는 인증뿐 아니라 다른 여러가지 정보도 저장 가능 (사용 언어설정 변경) 따라서 추후 브라우저 방문시 쿠키는 요청과함께 서버로 보내지고 서버는 쿠키가 기억해둔 언어설정의 페이지 제공.
  • 타인에 의해 도용당하거나 조작이 쉬움.
  • Ex) 공지메시지 하루 안보게 하기, 유저 장바구니에 담은 내역들

2. 세션

  • 다른 유저에게 노출되면 안되는 중요한 정보들을 의미.
  • 서버 제공자가 직접 다루는 정보들이며 세션으로 서버에서 관리됨.
  • HTTP, 즉 웹사이트 이용시 사용되는 프로토콜은 stateless 상태.
  • stateless란 서버로 가는 모든 요청이 이전 request와 '독립적'으로 수행됨.
  • 요청끼리 연결이 없음. (메모리 없음)
  • 요청이 끝나면 서버는 유저가 누군지 기억하지 않음.
  • 따라서 요청할 떄 마다 유저가 누구인지 서버에게 알려줘야함.
  • 이떄 사용하는것이 session
  • 어떤 유저가 아이디/비밀번호를 가지고 로그인 했다면 세션DB에 해당 정보가 저장됨(세션에는 별도의 ID가 존재)
  • 따라서 재로그인시 세션 DB에서 서버쪽에 ID정보를 제공해주면 서버는 쿠키의 형태로 브라우저에게 전달해주는 것.
    - 새션DB -> Server -> Browser.
  • 로그인 후 다른 페이지로 넘어갈 떄 마다 브라우저는 server에 ID가 기록된 쿠키를 전송시킬 것이고 server는 해당 쿠키를 가지고 세션DB측에 유효한 ID인지 확인함.
  • 일치하면 그제서야 세션DB는 유저가 누군지 확인가능.
  • 중요한 유저 정보는 모두 server에 저장되있음.
  • 유저가 가지고 있는 것은 session ID.
    - 따라서 쿠키는 세션ID가 기록된 일종의 매개체의 역할.

3. 캐쉬

  • 웹 뿐만 아니라 컴퓨터의 메모리부분, 안드로이드 등 다양한 곳에서 쓰임.
  • 가져오는데 비용이 드는 데이터를 한 번 가져온 뒤에 임시적으로 저장.
  • 이미지 정보를 서버에서 가져올시 데이터사용량과 시간이 소요되므로 사용자가 여러 번 방문한 사이트에서는 한 번 받아온 데이터를 사용자의 컴퓨터 혹은 서버에 저장.
profile
WILL is ALL

0개의 댓글