For Want Of A Better Word

サードパーティークッキーとは(定義と使い方)

   

[参考リンク1]https://webtan.impress.co.jp/e/2017/10/03/27016

●クッキーとは

RFC6265 に定義された「HTTPにおける状態管理の仕組み」。
もちろんサーバーに送られるクッキーは、そのドメイン名に属するものだけです。

●ファーストパーティクッキーとサードパーティクッキー

その紐付けられているドメイン名が、「現在ブラウザで表示しているページ(アドレスバーに表示しているURL)のドメイン名」と同じならば「ファーストパーティクッキー」
それ以外のドメイン名からのものが「サードパーティクッキー」と呼ばれます。

 

●サードパーティクッキーの情報はサーバに送信されないのに、、どういう用途で使うのか。

メインのサイトにはcookieは送信されない。
cookieはあくまでサードパーティクッキーを生成したサイトと通信する再にそっちのサーバーに送信される。
JSを読み込んだり、画像を読み込むというHTTPリクエストでもcookieはサードパーティに送信できるので、そこで情報を渡すこと(cookieの値をサードパーティサーバーに送信する)や、受け取ること(サードパーティサーバーで持っているcookieの値に応じたデータをブラウザに返す)ことが可能になる。

 

 

 

●検証事項

サードパーティのクッキーを生成して、ファーストパーティ相当のサイトにアクセスすると、ブラウザ上にはファーストパーティ用のcookieしか出てこない。
しかし、サードパーティ上の画像を読み込むとブラウザのcookie欄にサードパーティ用のcookieが登場する。

なるほど、、こういう感じね。
しかし。ファーストパーティのサーバーサイドでもJSでもサードパーティのcookieは操作できない。
サードパーティのサーバーサイドでごにょごにょするんだろうな..

 

●実装する例

 

えらくまとまったページあり。
[参考リンク2]http://kimagureneet.hatenablog.com/entry/2016/02/11/104614
ここのJS版だと。
jsを読んで、ajaxでデータ送信して、そこでクッキーを操作するみたい。またそのレスポンスとして必要なものを返せば、ファーストパーティ側でもサードパーティ側のcookie値を取得することは可能だし、cookieのセットも可能。しかしajax経由なのでタイムラグが大きい。またサードパーティ側のサーバーサイドでクロスサイトのajaxを許可するように設定することが必要。

HTML版の場合はiframeを使うと..
適当なhtmlをiframeで読み込んで、htmlの中にはJSを置いてサードパーティのcookieを操作する。ファーストパーティ側にcookie値を渡すことは難しそう。

※単純にJSを読んで、その中でcookieを操作しようとしても、ファーストパーティのクッキーしか操作できない。。

 

セットだけなら、iframeかajaxか。値を取得して、ファーストパーティ側に値を渡したいとかなると、ajaxでcookie付きでリクエストして戻り値としてcookieの文字列のパース結果をjsonでもらうとかがやりやすいかな。。

 

 - javascript | js, その他

  関連記事

【Googleトレンド】【Casperjs】急上昇中キーワードをスクレイピングで取得 – (4) Casper動くもGoogleトレンドのバグ?にはまる

casperjsで値を取るため 念のためもう一回埋め込み用のタグからURLを確認 …

【Googleトレンド】【Casperjs】急上昇中キーワードをスクレイピングで取得 – (2) Casperjsのインストール

ということで続き。下記を参考に。 【参考】http://thesportsbus …

クロスドメインのJSの利用とAjax通信の整理

jsonpとかcors設定とか、どういうときに必要か良く分からなくなったので整理 …

GoogleDriveで画像編集 /フリーの画像編集ツール

Photshopじゃないとできない魔法のような写真加工ではなく、画像にメモとか書 …

Zenbackの効果について

使ってみた感想。アクセスだいぶ減っている印象。 自然検索流入がだいぶ減り、zen …