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, その他

  関連記事

[js] chart.jsのグラフをwkhtmltopdfでpdfに保存する

表題のことをしたいとなった。   結論目的は果たされたのだけどハマリポ …

selectedを動的につけているセレクトボックスの選択解除・リセット

ちょっと、セレクトボックスの選択解除・リセットをしたい。   調べると …

mautic利用時の.htaccess設定(クロスドメインとアクセス制御)

mauticをインストールは下記参照。 http://qiita.com/bez …

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

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

no image
文字列の16進表記、HTMLでのエンティティ化、エスケープについてメモ

”&#x304a”こういう文字列表記をなんて呼べばよいのかが、いつも分か …