コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

サードパーティCookieはどういう仕組みでセットされるのか簡素に流れをまとめる

ググっても技術的な話があんまりでてこないのでまとめる。

出典

以下の2サイトの説明をミックスしました。

Cookieの仕組み

Cookieはページのレスポンスとして Set-Cookieで送信され、その情報を受け取るとブラウザは記憶して、送信してきたドメインへのアクセスに対しては情報を送信する。

シンプルにそのページを構成する情報がすべて同一のドメインであればそのドメインで話は完結する。しかしながらimgなどで指し示すURLが別のドメインの場合があるのでその場合にも Set-Cookie される。このようにページの主体となっているドメインと異なるドメインからのレスポンスでセットされたCookieが俗に言うサードパーティCookieにあたる

わかりやすい例

例えば https://watashi.example.com/ のページ内に画像を表示するimgタグ <img src = “https://hoka.example.jp/cat.png”> があるとします。

このとき、hoka.example.jp は画像を返却するレスポンスに画像のidをCookieとしてセットするようにしており、そうなると https://watashi.example.com/ の表示処理の中で hoka.example.jpCookieがセットされることになる。例としては以下のイメージ。

hoka.example.jpは違うURLだけどCookieを登録することができる

このCookieがセットされると2回目以降のアクセスはCookiehoka.example.jp に送られるようになる、以下の画像のイメージ。

2回目以降はCookieが送られる

このCookiehoka.example.jpのリクエストの際にはすべて送られるので、別のサイト https://othersite.example.uk/ でimgタグ <img src = “https://hoka.example.jp/cat.png”> が配置されていても送られる。以下のようなイメージ。

othersite.example.uk でも imgタグの先のアドレスは同じなのでCookieが送られる

このため、どこか他のページでhoka.example.jpにGETリクエストを一回でも送っていれば、他のサイトでもその見た人を特定することができる。

参考サイト