[解決済み] 第三者の「トラッキングクッキー」はどのように機能するのですか?
質問
この質問はこちらで読みました。 インターネット広告主はどのようにサードパーティのクッキーを使用するのですか? を読みましたが、まだ非常に混乱しています。 私がウェブサイトA(広告のある通常のウェブサイト)を訪問した場合、ウェブサイトB(広告のあるウェブサイト)がどのように私のコンピュータにIDを割り当て、私がウェブサイトAや、その広告のあるそれ以降のウェブサイトにいたことを把握できるのかが理解できません。
どのように解決するのですか?
まず、Cookieの設定と取得は、HTTPヘッダを通じて行われます。もし、あなたのブラウザが
http://example.com
にリクエストを送ると、レスポンスには次のようなヘッダが返されるかもしれません。
Set-Cookie: foo=bar
. あなたのブラウザはこのクッキーを保存し、それ以降の
http://example.com
へのリクエスト時に、ブラウザは
foo=bar
の中に
Cookie
ヘッダーに追加されます。(あるいは少なくともクッキーの有効期限が切れるか削除されるまでは) ブラウザは
foo=bar
でクッキーを送信します。
任意の
へのリクエストを
http://example.com
へのリクエストは、誰がリクエストを開始したか、またはコンテキストが何であるかに関係なく行われます。もし
http://example2.com
がタグ
<img src="http://example.com/img.jpg">
を含む場合、ブラウザはCookieを
foo=bar
を取得するとき
http://example.com/img.jpg
を取得したとき、たとえ
http://example2.com
がリクエストの送信に責任があるにもかかわらず
つまり、ウェブサイトAにウェブサイトBが提供する広告が含まれている場合、ウェブサイトBはあなたのブラウザにクッキーを設定することができるのです。たとえば、WebサイトAが
<iframe src="http://websiteB.com/ad.html></iframe>
を使用してウェブサイトBから広告を提供すると、ブラウザがその広告を取得する際に
http://websiteB.com/ad.html
を取得しようとすると、レスポンスに
Set-Cookie
ヘッダが返され、そのヘッダには一意のランダムな文字列のクッキーが設定されます。ウェブサイトCにウェブサイトBからの広告も含まれている場合、ウェブサイトCの広告がウェブサイトBから取得されたときに、その固有のクッキーが送信されます。
ウェブサイトBが、あなたが訪問している実際のウェブサイトをどのように知るかについては、さまざまな方法があります。いくつかのケースでは、ブラウザがある Web サイトにリクエストを送信すると、その Web サイトに、どの Web サイトから来たのかを伝えます。つまり、ブラウザが
http://websiteB.com/ad.html
を取得しようとすると、HTTP ヘッダー
Referer: http://websiteA.com
ウェブサイトBは、あなたに割り当てられたユニークなランダム文字列を見るたびに、Refererヘッダーをチェックして、あなたがどこに行ったかのログに追加することができます。ウェブサイトAがウェブサイトBと協力している場合、Aは直接ウェブサイトAから来たことをBに伝えることができます。
<iframe src="http://websiteB.com/ad.html?referer=websiteA.com">
とすることで、ウェブサイトBはクエリ文字列で参照元を確認することができます。
これは役に立ちましたか?リンク先の答えの中で、特に意味のない部分がありますか?
関連
-
[解決済み] クッキーでAPIを取得する
-
[解決済み] Cypress のテスト間で Cookie / localStorage セッションを保持する。
-
[解決済み] Firefox DevToolsでCookieを編集・削除する方法は?
-
[解決済み] ローカルストレージとCookieの比較
-
[解決済み] Internet ExplorerのIFRAMEでCookieがブロックされる/保存されない
-
[解決済み】Cookieに使用できる文字は何ですか?
-
[解決済み】ドメインを明示したローカルホスト上のクッキー
-
[解決済み】すべてのWebリクエストは、ブラウザのクッキーを送信しますか?
-
[解決済み] 第三者の「トラッキングクッキー」はどのように機能するのですか?
-
[解決済み] Cookieのドメインにあるドットプレフィックスとはどういう意味ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン