쿠키의 배경 및 목적

쿠키

HTTP 쿠키(웹 쿠키, 인터넷 쿠키, 브라우저 쿠키 또는 간단히 쿠키라고도 함)는 사용자가 웹사이트를 탐색할 때 웹 서버에 의해 생성되며 사용자의 웹 브라우저에 의해 사용자의 컴퓨터 또는 다른 장치에 배치되는 데이터를 포함합니다. . 작은 블록입니다. 쿠키는 웹사이트에 액세스하는 데 사용되는 장치에 배치되며 세션 동안 사용자의 장치에 여러 쿠키를 배치할 수 있습니다.


쿠키는 웹에서 유용하고 때로는 필수적인 기능을 제공합니다. 이를 통해 웹 서버는 사용자 장치에 상태 저장 정보(예: 온라인 상점의 장바구니에 추가된 항목)를 저장하거나 사용자의 브라우징 활동(예: 특정 버튼 클릭, 로그인 또는 방문한 페이지에 로그인)을 추적할 수 있습니다. 과거에). 또한 이름, 주소, 비밀번호, 결제 카드 번호와 같은 양식 필드에 사용자가 이전에 입력한 사용 정보를 저장하는 데 사용할 수도 있습니다.

인증 쿠키는 일반적으로 웹 서버에서 사용자가 로그인하고 있고 로그인한 계정을 인증하는 데 사용됩니다. 쿠키가 없으면 사용자는 액세스하려는 기밀 정보가 포함된 각 페이지에 로그인하여 자신을 인증해야 합니다. 인증 쿠키의 보안은 일반적으로 발급사의 웹사이트와 사용자의 웹 브라우저의 보안 및 쿠키 데이터의 암호화 여부에 따라 결정됩니다. 보안 취약성으로 인해 공격자는 쿠키의 데이터를 읽거나, 사용자 데이터에 액세스하거나, 쿠키를 사용하여 쿠키가 속한 웹사이트에 액세스할 수 있습니다(사용자 자격 증명 사용).

추적 쿠키, 특히 타사 추적 쿠키는 일반적으로 개인의 검색 기록에 대한 장기 기록을 수집하는 방법으로 사용됩니다. 이것은 2011년에 유럽 및 미국 입법자들이 조치를 취하도록 촉구한 잠재적인 개인 정보 보호 문제입니다. 유럽 법률에 따르면 유럽 연합 회원국을 대상으로 하는 모든 웹 사이트는 귀하의 ‘정보에 입각한 동의’를 얻은 후 귀하의 장치에 비필수 쿠키를 저장하도록 규정하고 있습니다.

배경

HTTP 쿠키는 인기 있는 Baked Treat와 이름을 공유합니다. 이것은 이름의 유래입니다. 쿠키라는 용어는 웹 브라우저 프로그래머인 Lou Montoury가 만들었습니다. 매직 쿠키라는 용어에서 유래했습니다. 매직 쿠키는 Unix 프로그래머가 사용하는 프로그램에서 변경 없이 수신 및 반환되는 데이터 패킷입니다. 매직 쿠키라는 용어 자체는 종이 메시지가 담긴 웨이퍼 포춘 쿠키에서 유래했습니다.

역사

컴퓨터 프로그래머인 Lou Montoury가 1994년 6월 웹 커뮤니케이션에 사용할 생각을 했을 때 매직 쿠키는 이미 컴퓨팅에서 사용되고 있었습니다. 당시 그는 MCI의 전자 상거래 애플리케이션을 개발하고 있던 Netscape Communications 직원이었습니다. Vint Cerf와 John Klensin은 Netscape Communications와의 기술 토론에서 MCI를 대표했습니다.

MCI는 서버가 부분적인 트랜잭션 상태를 유지해야 하는 것을 원하지 않았습니다. 그래서 Netscape에 각 사용자의 컴퓨터에 해당 상태를 저장할 방법을 찾도록 요청했습니다. 쿠키는 가상 장바구니를 안정적으로 구현하는 문제에 대한 솔루션을 제공했습니다.

Montulli는 John Giannandrea와 함께 같은 해에 최초의 Netscape 쿠키 사양을 만들었습니다. Mosaic Netscape 버전 0.9beta는 1994년 10월 13일에 출시되었으며 쿠키를 지원합니다. 쿠키의 첫 번째 사용은 Netscape 웹사이트 방문자가 해당 사이트를 이미 방문했는지 확인하는 것이었습니다. Montouri(1995)는 1995년에 쿠키 기술에 대한 특허를 신청했고 1998년에 승인되었습니다. 쿠키 지원은 1995년 10월에 출시된 Internet Explorer 버전 2에서 통합되었습니다.

쿠키의 도입은 당시에는 일반적으로 널리 알려지지 않았습니다. 특히 쿠키는 기본적으로 허용되었으며 사용자에게 쿠키의 존재를 알리지 않았습니다. 일반 대중은 1996년 2월 12일 파이낸셜 타임즈가 쿠키에 대한 기사를 발표한 후 쿠키에 대해 알게 되었습니다. 같은 해에 쿠키는 특히 잠재적인 개인 정보 보호 영향으로 인해 미디어의 많은 관심을 끌었습니다. 쿠키는 1996년과 1997년에 두 번 연방 무역 위원회 공청회에서 논의되었습니다.

공식 쿠키 사양의 개발이 이미 진행 중이었습니다. 특히 공식 규격에 대한 최초의 논의는 1995년 4월 www-talk 메일링 리스트에서 시작되었다. IETF(Internet Engineering Task Force) 내에 특별 작업 그룹이 구성되었습니다. HTTP 트랜잭션에 상태를 도입하기 위한 두 가지 대안은 Brian Behlendorf와 David Kristol이 각각 제안했습니다.

그러나 Kristol 자신과 Lou Montulli가 이끄는 그룹은 즉시 Netscape 사양을 출발점으로 사용하기로 결정했습니다. 1996년 2월 워킹 그룹은 타사 쿠키를 개인 정보 위협으로 식별했습니다. 이 그룹이 작성한 사양은 마침내 1997년 2월에 RFC 2109로 발표되었습니다.

타사 쿠키가 허용되지 않거나 적어도 기본적으로 활성화되지 않도록 지정합니다. 당시 광고 회사는 이미 타사 쿠키를 사용하고 있었습니다. RFC 2109의 타사 쿠키에 대한 권장 사항은 Netscape 및 Internet Explorer에서 따르지 않았습니다. RFC 2109는 2000년 10월에 RFC 2965로 대체되었습니다.

RFC 2965는 Set-Cookie2 헤더 필드를 추가합니다. “넷스케이프 스타일 쿠키”라고 하는 원래 Set-Cookie 헤더 필드와 달리 비공식적으로 “RFC 2965 스타일 쿠키”라고 합니다. 그러나 Set-Cookie2는 거의 사용되지 않았으며 2011년 4월 RFC 6265에서 더 이상 사용되지 않습니다. RFC 6265는 실제 세계에서 사용되는 쿠키에 대한 최종 사양을 설명합니다. 최신 브라우저는 Set-Cookie2 헤더 필드를 인식하지 않습니다.

용법

세션 관리

쿠키는 원래 사용자가 웹 사이트(가상 장바구니 또는 장바구니)를 탐색할 때 구매하려는 항목을 기록하는 방법을 제공하기 위해 도입되었습니다. 그러나 오늘날 사용자의 장바구니 내용은 ​​일반적으로 클라이언트의 쿠키가 아닌 서버의 데이터베이스에 저장됩니다. 어떤 사용자가 어떤 장바구니에 할당되었는지 추적하기 위해 서버는 고유한 세션 ID(일반적으로 임의의 문자와 숫자로 구성된 긴 문자열)가 포함된 쿠키를 클라이언트로 보냅니다. 클라이언트가 쿠키를 요청할 때마다 쿠키가 서버로 전송되기 때문에 사용자가 웹 사이트의 새 페이지를 방문할 때마다 해당 세션 ID가 서버로 전송되고 서버는 사용자에게 표시할 장바구니에 대한 알림을 받습니다. .

쿠키의 또 다른 일반적인 용도는 웹사이트 로그인입니다. 사용자가 웹 사이트 로그인 페이지에 액세스하면 웹 서버는 일반적으로 고유한 세션 ID가 포함된 쿠키를 클라이언트에 보냅니다. 사용자가 성공적으로 로그인하면 서버는 해당 특정 세션 ID가 인증되었음을 기억하고 사용자에게 서비스에 대한 액세스 권한을 부여합니다.

세션 쿠키에는 고유한 세션 식별자만 포함되어 있으므로 웹 사이트에서 각 사용자에 대해 저장할 수 있는 개인 정보의 양은 사실상 무제한입니다. 웹사이트는 쿠키 크기 제한에 제한을 받지 않습니다. 세션 쿠키는 또한 세션 쿠키의 정보 양이 적고 대역폭이 거의 필요하지 않기 때문에 페이지 로드 시간을 단축하는 데 도움이 됩니다.

개인화

쿠키는 시간 경과에 따라 귀하에게 관련 콘텐츠를 표시하기 위해 귀하에 대한 정보를 기억하는 데 사용될 수 있습니다. 예를 들어, 웹 서버는 사용자가 다음에 로그인할 때 자동으로 채울 수 있도록 웹 사이트에 마지막으로 로그인하는 데 사용된 사용자 이름이 포함된 쿠키를 보낼 수 있습니다.

많은 웹사이트에서 쿠키를 사용하여 원하는 대로 사용자 지정할 수 있습니다. 사용자는 웹 양식에 참조를 입력하고 양식을 서버로 전송하여 참조를 선택합니다. 서버는 참조를 쿠키로 인코딩하고 쿠키를 브라우저에 반환합니다. 이를 통해 서버는 사용자가 웹 사이트의 페이지에 액세스할 때마다 사용자의 기본 설정에 따라 페이지를 개인화할 수 있습니다.

예를 들어 Google 검색 엔진은 쿠키를 사용하여 사용자(등록되지 않은 사용자 포함)가 페이지에 표시할 검색 결과 수를 결정할 수 있도록 합니다. Duck Duck Go는 또한 쿠키를 사용하여 사용자가 웹 페이지 색상과 같은 보기 기본 설정을 지정할 수 있도록 합니다.

추적

추적 쿠키는 웹 브라우징 습관을 추적하는 데 사용됩니다. 이는 페이지를 요청하는 컴퓨터의 IP 주소 또는 HTTP 요청 헤더의 리퍼러 필드를 사용하여 어느 정도 수행할 수 있지만 쿠키는 정확도를 향상시킵니다. 이는 다음과 같이 증명할 수 있습니다.

1. 사용자가 귀하의 사이트에서 페이지를 요청했지만 요청에 쿠키가 포함되지 않은 경우 서버는 이것이 사용자가 처음 방문한 페이지라고 가정합니다. 이를 위해 서버는 고유 식별자(일반적으로 임의의 문자 및 숫자 문자열)를 생성하고 이를 요청된 페이지와 함께 쿠키로 브라우저에 보냅니다.

2. 이 시점부터 사이트의 새 페이지가 요청될 때마다 쿠키가 자동으로 브라우저에 의해 서버로 전송됩니다. 서버는 페이지를 정상적으로 보낼 뿐만 아니라 요청한 페이지의 URL, 요청 날짜, 쿠키를 로그 파일에 저장합니다.

이러한 로그 파일을 분석하여 사용자가 어떤 페이지를 어떤 순서로 얼마나 오래 방문했는지 조사할 수 있습니다.

기업은 구매 습관에 대한 정보를 수집하기 위해 쿠키를 추적하여 사용자의 웹 습관을 사용합니다. 월스트리트 저널(WSJ)은 상위 50개 미국 웹사이트가 컴퓨터에 평균 64개의 추적 기술을 설치하여 총 3,180개의 추적 파일을 생성했다고 밝혔습니다. 그런 다음 데이터를 수집하여 입찰 회사에 판매할 수 있습니다.