쿠키란?
쉽게는 흔히들 아는 헨젤과 그레텔 이야기 처럼 쿠키를 바닥에 떨어뜨려 자신의 흔적을 남기는 것과 같다고 생각하면 된다.
즉, 서버에 요청한 클라이언트의 정보를 일시적으로 key : value 모양으로 담게 된다.
- 클라이언트(브라우저)에 저장되는 키와 같이 들어있는 작은 파일.
- 클라이언트의 상태 정보를 클라이언트에 저장했다가 참조.
- 한 개에 4KB 까지 저장, 최대 300개 까지 저장 할 수 있는 텍스트 파일
- 사용자가 따로 요청을 보내지 않아도 브라우저가 Request 시 Request Header에 넣어서 자동으로 서버에 전송한다.
- 만료 날짜 지정이 가능 하다는 특성에 의해 n일 동안 보지 않기, 재방문시 아이디/비밀번호 자동입력 등 특정 시간이
지나면 다시 띄워주는 팝업 구현 등에 쓰인다.
세션이란?
통신을 하기 위해 서로 연결된 순간부터 통신을 마칠 때 까지의, 같은 사용자로부터 오는 일련의 요청을 하나의 상태로 보고, 그 상태를 일정하게 유지하는 기술이다.
즉, 방문자가 웹 서버에 있는 상태를 하나의 단위로 보고 그것을 세션이라고 한다.
- 사용자 정보를 서버측에서 관리한다.
- 서버에 저장하기 때문에 클라이언트를 구분하기 위해 세션 ID를 부여하며, 브라우저 종료시 까지 인증 상태를
유지한다.
- 데이터를 서버에 두기 때문에 쿠키보다 보안에 유리하고, 용량의 한계가 없다. 하지만 사용자가 많아지면
서버 메모리를 많이 차지한다.
- 로그인과 같은 보안상 중요한 작업을 수행할 때 사용한다.
웹 스토리지란? (로컬 스토리지, 세션 스토리지)
클라이언트에 데이터를 저장할 수 있도록 HTML5로부터 나온 새로운 방식의 데이터 저장 방법이다. 주로 로컬 스토리지와, 세션 스토리지가 존재하며, key : value 쌍의 형태로 데이터가 저장 된다.
- 서버에 불필요한 저장을 하지 않으므로, 서버에 부담이 가지 않는다.
- 자동 전송되는 쿠키와 달리, 필요에 의해서만 꺼내 쓰는 방식이므로 자동 전송의 위험성이 없다.
로컬 스토리지란?
- window.localStorage 객체이다.
- 브라우저를 종료해도 유지되는 데이터로, 직접 지우지 않는 한 영구적으로 저장된다.
- 각 도메인 별로 생성이 되기 때문에, 다른 도메인의 로컬 스토리지에서는 접근이 불가능하다.
- 지속적인 정보를 저장하기 좋기 때문에 자동로그인과 같은 기능에 사용 된다.
세션 스토리지란?
- window.sessionStorage 객체
- window 객체와 동일한 유요 범위 및 생존 기간을 가지기 때문에, 탭 혹은 윈도우를 닫을 시 데이터가 삭제 된다.
- 위와 같은 특성 때문에 잠시 동안 필요한 정보를 저장하기에 좋다. (일회성 로그인, 비회원 장바구니, 입력 폼 저장)
'Web' 카테고리의 다른 글
[Web] Service Mesh (0) | 2024.05.07 |
---|---|
[Web] MFA란(Micro Frontend Architecture) (0) | 2024.05.03 |
[Web] HTTP와 WebSocket의 차이 (0) | 2022.12.29 |