우리는 종종 해킹 당하지 않으려면 쿠키를 자주 삭제하거나 아이디, 비밀번호를 자주 바꾸라는 말을 들은 적이 있을 것이다.
cookie는 사용자 정보를 저장하기 위해, 사용자 디바이스에 저장하는 파일이다. 예를 들어 쇼핑몰에서 상품을 구매한다고 가정하면 물건 구매를 위해 id와 pw를 입력할 때 이러한 정보도 기록되고, 장바구니에 담은 상품, 상품의 정보들 등 다양한 정보들이 기록된다. 또한 특정 사용자에게 배너 광고를 타켓팅하기 위해 저장하는 경우도 존재한다.
쿠키는 다음의 요소로 구성되어야한다.
이름
- 값
- 0개 이상의 속성 (이름/값 쌍). 속성은 쿠키의 만료 기간, 도메인, 플래그(예: Secure 및 HttpOnly) 등의 정보를 저장한다.
이때 쿠키의 사양은 아래를 만족해야한다.
- 4,096바이트 크기의 쿠키를 지원할 것
- 한 도메인 당 최소 50개 쿠키를 지원할 것(예: 각 웹사이트 당)
- 총 최소 3,000개 쿠키를 지원할 것.
Cookie의 종류는 크게 퍼스트파티(First-Party)쿠키와 서드파티(Third-Party)쿠키로 나뉜다.
퍼스트파티 쿠키: 웹사이트 속성이 '호스트 도메인'일 경우에 해당하며, 현재 방문하는 도메인에 설정된 쿠키를 의미한다. 예를 들어 쇼핑몰에서 장바구니에 담긴 정보를 저장하기 위한 쿠키이다.
서드파티 쿠키: 방문한 도메인 외, 외부에서 심는 쿠키이다. 사용자의 행동을 애드테크 회사들이 추적하며 사용자의 행동 패턴에 따라 광고를 보여준다.
서드파티 쿠키 지원 중단?
구글과 애플의 사파리에서 서드파티 쿠키 차단 기능을 시행하였다. 그동안 사용자의 프라이버시가 문제가 되었던 것으로 다른 여러 브라우저에서도 이처럼 서드파티 쿠키의 지원이 끊기고 있는 상황이다.
웹 스토리지 객체(Web Storage Object)인 localStorage와 sessionStorage는 브라우저 내에 키-값 쌍을 저장할 수 있다.
두 객체는 메소드와 프로퍼티가 동일하다.
- setItem(key, value) – 키-값 쌍을 보관
- getItem(key) – 키에 해당하는 값을 반환
- removeItem(key) – 키와 해당 값을 삭제
- clear() – 전부 삭제
- key(index) – 인덱스(index)에 해당하는 키 반환
- length – 저장된 항목의 개수 반환
이처럼 여러가지 방법으로 브라우저 데이터를 저장하거나 활용할 수 있으므로 잘 찾아보자.. 어렵다