쿠키,세션,로컬스토리지,캐쉬

재운·2021년 4월 11일
0
post-thumbnail

쿠키, 세션, 캐쉬, 로컬 스토리지 ...
뭔가를 저장하는 저장소 같은데... 궁금해서 차이점을 찾아보았다 🤔

쿠키(Cookie🍪)

"쿠키란 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 일컫는다."
*출처:wikipedia

쿠키의 특징

  • 사용자의 브라우저에 저장되고, 통신할 때 HTTP 헤더에 포함되는 텍스트 데이터 파일이다.(쿠키 1개당 최대 4KB, 문자열만 저장가능)

  • 이름, 값 만료기간(지정 가능), 경로 정보가 있고 키와 값으로 구성되어 있다.

  • 사이트에서 방문한 페이지를 저장하거나 유저의 로그인 정보를 저장하는 등 다양한 방법으로 사용된다.

  • 해당 사용자의 컴퓨터를 사용한다면 누구나 쿠키에 입력된 값을 쉽게 확인 가능하다.

쿠키의 종류

1) Session Cookie

  • 세션 쿠키는 만료일을 포함하지 않는 대신에 브라우저나 탭이 열려있는 동안에만 저장된다.
  • 브라우저가 닫히면 쿠키는 영구적으로 삭제된다.
  • 은행 유저들의 자격증명을 하는데 사용된다

2) Persistent

  • Persistent cookie는 만료일을 가지고 만료일까지 유저의 디스크에 저장되었다가 만료일이 지나면 삭제된다.
  • 유저들이 방문할때마다 유저 경험을 커스텀하기 위해 특정 웹사이트에서 행동을 기록하는 등 여러 활동들에 사용될 수 있다.

❗️쿠키의 단점

persistent 쿠키의 경우 클라이언트의 pc에 저장되기 때문에 피시방 도서관 등 공용 PC에 저장된 쿠키는 쉽게 접근이 가능하다. 사용자의 ID, 비밀번호가 암호화된 형태로 저장되어 있을 때 해당 Cookie 값을 그대로 복사해와서 자동 로그인을 활성화한 사이트에서는 ID, 비밀번호 인증 절차를 거치지 않고 로그인할 수 있다.

세션(Session)

쿠키와 비슷한 개념이나 정보를 DB에 저장한다는거에 큰 차이가 있다.

세션의 특징

  • HTTP Session id를 식별자로 구별하여 데이터를 사용자의 브라우저에 쿠키형태가 아닌 접속한 서버 DB에 정보를 저장한다.
  • 클라이언트는 HTTP Session id를 쿠키로 메모리 저장된 형태로 가지고 있다.
  • 메모리에 저장하기 때문에 브라우저가 종료되면 사라지게 된다.
    👉 쿠키의 트래픽 문제와 쿠키를 변경하는 보안적 이슈를 해결하기 위해 등장했다.

❗️세션의 단점

대부분의 경우엔 메모리에 이를 저장하는데, 로그인 중인 유저의 수가 늘어난다면 서버의 램이 과부화가 된다. 이를 피하기 위해서 세션을 데이터베이스 시스템에 저장하는 방식도 있지만, 이 또한 유저의 수가 많으면 데이터베이스의 성능에 무리를 줄 수 있다.

다음 포스팅에서는,
로컬 스토리지, 세션 스토리지, 캐쉬에 대해 알아보자

출처:
https://ryusae.tistory.com/7,
https://tristan91.tistory.com/521,

profile
Life is memory

0개의 댓글