웹페이지를 탐색할 때, 종종 자신이 검색한 상품이나 서비스에 대한 광고를 여러 웹사이트에서 볼 수 있습니다. 이러한 현상은 Third Party Cookie를 통해 가능해집니다. 이번 글에서는 Third Party Cookie의 개념과 이를 Java와 Spring을 이용해 구현하는 방법을 알아보겠습니다.
목차
1.Third Party Cookie?
1.1 third party
1.2 cookie
1.3 First Party vs Third Party
2. Third Party Cookie의 구현 (Java & Spring)
2.1 프로젝트 의존성 소개
2.2 프로젝트 예제 코드 및 구현
2.3 깃허브 주소
1. Third Party Cookie?
1.1 Third Party란?
Third Party(제3자)는 두 주체 간의 거래나 관계에 직접적으로 관련되지 않은 외부의 제3자를 의미합니다. 예를 들어, 여러분이 **example.com**을 방문했을 때, 이 웹사이트는 First Party가 됩니다. 하지만 **example.com**이 아닌 다른 도메인에서 제공하는 콘텐츠나 서비스를 사용할 경우, 해당 외부 도메인은 Third Party가 됩니다.
1.2 Cookie란?
Cookie는 웹사이트가 사용자의 브라우저에 저장하는 작은 텍스트 파일로, 사용자에 대한 다양한 정보를 포함할 수 있습니다. 이 정보는 다음에 사용자가 동일한 웹사이트를 방문할 때 웹사이트가 사용자를 인식하고 이전 설정이나 상태를 유지하는 데 사용됩니다. 쿠키는 사용 목적에 따라 세션 쿠키와 영구 쿠키로 나뉩니다.
1.3 First Party vs Third Party
- 퍼스트 파티 쿠키(First Party Cookie): 사용자가 방문하는 웹사이트에 의해 직접 설정되고 저장되는 쿠키입니다. 주로 로그인 상태 유지, 언어 설정 기억 등 사용자의 편의를 위해 사용됩니다.
- 서드 파티 쿠키(Third Party Cookie): 사용자가 방문하는 웹사이트가 아닌 다른 도메인에 의해 설정되고 저장되는 쿠키입니다. 주로 광고 및 사용자 추적 목적으로 사용되며, 여러 웹사이트에 걸쳐 사용자의 활동을 추적할 수 있습니다.
2. Third Party Cookie의 구현 (Java & Spring)
이제 Third Party Cookie의 개념을 이해했으니, 이를 Java와 Spring을 이용해 구현해보겠습니다.
2.1 프로젝트 의존성 소개
먼저 web, thymeleaf를 dependencies에 추가해 줍니다.
2.2 프로젝트 예제 코드 및 구현
- api package를 만들어서 MainApi, AdvertisementApi 클래스를 만들어줍니다.
- MainApi 클래스는 기본적이 검색이 가능한 controller입니다.
2. AdvertisementApi는 광고를 보여주는 controller 입니다.
- /showAd로 접근하면 쿠키 이름이 검색한 이름과 겹치는 것을 넘겨주어서 그에 따른 광고를 보여주게 됩니다.
3. 검색화면
4. 검색결과
바지, 신발을 검색하고 광고 페이지를 보게 되면 그에 맞는 광고가 쿠키에 저장되어 있는 모습을 볼 수 있습니다.
2편에서는
1. api를 이용해서 실제 검색한 결과를 바탕으로 이미지를 가져오는 코드를 구현하겠습니다.
2. 그러면 보안 문제는 없는지에 대해서 다루겠습니다.