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に保存する

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

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

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

メモ_gushから_スクロールに応じてHTML部品の表示 右下前に固定表示

要は最初は要素は固定で右下に表示 固定は下記で実施。 position: fix …

no image
Redmineのチケットをメールから登録-cronエラー、登録されない問題など、文字化け

下記参考でほぼOK. http://toymoon.blogspot.jp/20 …

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

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