쿠키(Cookie)에 대해 알아보자
웹 기술, 특히 사용자를 식별하고 정보를 수집하여 분석하기 위해선 거의 필수적인 쿠키에 대해 알아본다.
# 쿠키란 무엇인가
쿠키는 어떤 웹사이트를 방문하였을 때, 그 사이트에 방문한 이력, 이용 기록 (예를 들면 검색어 혹은 로그인 상태)와 같은 정보가 기록된 아주 작은 크기의 파일을 말한다. 사용자의 컴퓨터에 저장된다.
쿠키는 사용자 단위가 아니라 브라우저 단위로 생성된다. 그렇기 때문에 같은 사이트를 방문했다고 하더라도, 크롬으로 방문해서 생성된 쿠키와 사파리로 방문해서 생성된 쿠키는 전혀 다른 것이 된다. 크롬으로는 접속할 때 마다 이미 로그인이 된 상태인 웹사이트도 사파리로 처음 접속하면 로그인을 해야하는 이유가 여기에 있다.
일반적으로는 각 사용자는 자신의 기기에서 대부분 같은 브라우저를 사용하여 웹을 돌아다니기 때문에, 브라우저 기록을 쫓는 것이 곧 한 개인을 식별하고 해당 개인의 기록을 쫓는 것과 동등하게 볼 수 있다. 그래서 쿠키는 곧 개인정보가 기록된 파일이라고 할 수 있다.
개인정보라고 해도 이름, 생년월일, 신분증 번호 같은 정보가 아니고, 일반적으로는 어떤 OS와 브라우저를 사용했나, ip주소는 어떻게 되는가와 같은 정보가 기록된다.
각 도메인마다 쿠키를 발행하는데, 어떤 도메인도 다른 도메인을 대신하여 쿠키를 발행할 수는 없다. 예를 들어 test.com이 adserver.com을 대신하여 adserver.com의 쿠키 파일을 발행할 수 없다.
일반적으로 브라우저는 각 쿠키를 해당 쿠키를 발행한 도메인으로만 전송한다. adserver.com이 test.com이 발행한 쿠키 정보에 접근할 수 없다는 뜻.
쿠키 자체는 사용자의 편의를 향상 시키기 위한 기술이다. 사용자를 식별할 수 있어야 그에 맞는 맞춤형 서비스를 제공할 수 있다.
# 쿠키의 유효기간
쿠키 파일에는 유효기간을 설정할 수 있다. 설정하지 않으면 해당 세션 (사용자가 사이트에 머물고 있는 시간) 동안에만 유효하다.
유효기간이 설정되었을 경우, 해당 기간이 도달하거나 쿠키 파일을 지우기 전까지는 유효하다. 유효기간이 오기 전에 새롭게 유효기간을 갱신하는 것도 가능하다.
# 쿠키의 종류
쿠키는 크게 퍼스트 파티 (First-Party)와 서드 파티 (Third-Party)의 두종류로 나눌 수 있다.
퍼스트 파티 (First-Party) 쿠키
퍼스트 파티 쿠키는 사용자가 방문한 웹사이트에서 직접 발행하는 쿠키 파일을 말한다. 예를 들어 사용자가 naver.com으로 접속했을 때 naver.com에서 로그인 기록에 관한 쿠키를 발행하는 건 퍼스트 파티 쿠키에 해당된다. 네이버에 "로그인 기억" 상태로 로그인하고, 창을 닫았다가 다시 네이버에 접속하면 로그인이 유지된 상태인 것을 알 수 있는데, 쿠키 정보를 이용한 것.
접속한 도메인과 쿠키를 발행한 도메인이 동일 할 경우가 퍼스트 파티 쿠키이다. 서브 도메인이 발행한 쿠키도 퍼스트 쿠키로 간주된다. test.com 사이트에서 sub1.test.com이 발행한 쿠키는 퍼스트 파티 쿠키로 간주된다.
서드 파티 (Third-Party) 쿠키
서드 파티 쿠키는 사용자가 방문한 웹사이트가 아닌, 다른 웹사이트 (제 3자)에서 발행한 쿠키 파일을 말한다. 보통 광고 서버에서 발행하는 쿠키가 여기에 해당된다. 간단하게 요약하면 접속한 사이트 도메인에서 발행되지 않은 쿠키는 모두 서드 파티 쿠키이다. (서브 도메인은 예외)
예를 들어 example.com이라는 사이트에 사용자가 접속을 했는데, 사이트 페이지 속에 adserver.com의 스크립트가 심어져 있는 경우가 있다. 이 때 adserver.com은 해당 사용자가 example.com이라는 사이트를 방문했다는 정보를 담은 쿠키를 발행한다.
그리고 사용자가 test.com이라는 사이트에 방문했을 때, 마찬가지로 사이트 페이지 속에 adserver.com의 스크립트가 심어져 있는 경우, adserver.com은 해당 사용자가 example.com이라는 사이트의 사용 내역에 대한 정보를 쿠키로 부터 빼올 수 있기 때문에, 그 정보를 활용하여 광고를 보여줄 수 있다.
adserver.com의 스크립트가 삽입 된 사이트가 많을 수록, adserver.com은 각 개인의 온라인상의 행동을 추적하기가 쉬워지고, 그 행동 데이터를 분석하여 활용할 수 있는 영역이 넓어지게 된다.
요즘은 개인정보 보호를 이유로 이 서드 파티 쿠키를 사용하지 않거나 막아버리는 것이 주된 흐름이다. 브라우저 자체에서 트레킹을 막는 설정을 할 수 있다던지, 애드 블록 같은 애드온을 사용한다던지, 백신 프로그램으로 막아버린다던지, 쿠키파일을 지워버린다던지 하며 서드 파티 쿠키는 점점 외면 받고 있다.
일반 사용자 입장에서는 서드파티 쿠키는 지워버리거나 막아버려도 사실 불편한 것이 없다. 서드파티 쿠키는 대부분 온라인 광고에 이용되기 때문에, 오히려 사용자 입장에선 보기 싫은 광고를 막을 수 있어서 편의성이 좋아질 수가 있다.
반면 퍼스트 파티 쿠키는 막아버리면 각 사이트 측에서는 사용자를 식별하기가 매우 어려워지기 때문에, 그만큼 서비스를 제공하기가 힘들어지고, 사용자 자체도 매번 로그인을 해야하는 등 번거로움이 따르기 때문에, 퍼스트 쿠키를 막거나 삭제하는 경우는 드물다.