news

ITPを知る為の基本

ITPを知る為の基本

お疲れ様です、 システムの知恵袋の細谷です。

先日法事があり、去年に仕立てたスーツを出してきたのですが、コマーシャルであるような「一つのズボンに2人はいれそう」という状態になっていました。こういったことを目の当たりにすると痩せたと実感しますね。

 

さて最近ITP対応についての質問がよく飛んできますが、奇天烈な返事も多く詳細をを伺っていると「ITP」で問題になる「Cookie」などWeb情報のデータ管理方法の事を知らない方が多いようなので、本日はこちらを説明いたします。

 

◇Cookieとは

よく「Cookie」と文字を目にしますが、これはお菓子の「クッキー」ではなく、ブラウザに保管しておく「データ」のことを言います。

これも「顧客の追跡の為のものか!」と警戒されるかと思いますが、例えば何らかのサービスにログインした時に、「あなたがログインしている」と証明する情報はどこに置いておくのでしょうか?

そういった「やり取りのデータ」を保存しておく場所がCookieです。

 

簡単に言えば「あなたのPC内に保管しておくネットワーク上データ」をCookieと呼んでいるわけですね

 

◇Cookieのセキュリティ

Cookieはアクセスしたサイト毎に別々のデータを持っていて、例えばYahooにアクセスした際に作られた情報にピアラがアクセスすることはできません、

ログイン情報が含まれる事があるので当たり前ですね、

 

そういったドメインと呼ばれる範囲でCookieは切り分けされていて。(ドメインとはブラウザのhttp://***.**.**/のコメの部分の事です。)

別のドメインの間でデータはやり取りできないというのがルールになります。

また制限時間があり、制限時間を過ぎるとCookieは消えてしまいます。デフォルトでは「ブラウザを閉じるまで」となっているので、再度ログインを求められたら「Cookieが切れたんだなー」と思ってください。

 

◇「First party」と「Third party」

ではなぜITPというのが実装されたのでしょうか?

これを説明するのが「ファーストパーティクッキー(以下FPC)」と「サードパーティークッキー(以下TPC)」の関係です。

 

アナリティクスというサイトがどれだけ人気かを分析してくれるツールがありますが、これはサービスは別のドメインで運用されているので、そっちにデータを送る必要があります。

「第三者にはデータは使えないのでは?」と思われると思いますが、たとえは私(このブログ)がGoogleにデータを送りますねと設定していれば、あなたのPC内にピアラのcookieと一緒にGoogleのcookieも作られます、

あなたがピアラのサイトにアクセスしてピアラのcookieが作られたので「First」、Googleはピアラとは関係があるがあなたとは直接の関係はなので第三者という事で「Third」になります。

 

イメージが付きにくいと思いますので、サイトの閲覧を「取引」とすると、私(ピアラ)が「取引先」、Googleが「取引先の協力会社」と関係ですね。場合によっては協力会社が商談の場に出てこないこともあると思いますが、取り決めの中にしれっといたりします。

この「Third」は調べる方法を知らないと表からは見えない為「悪事」にも利用されています。なのでITPという対応が生まれたわけですね。

 

◇もう一つのデータ保管庫「Session」

CookieはあなたのPCに保管されているといいましたが、ではあなたのPCのみにデータが保管されているのでしょうか?

 

そんなわけはありませんよね、例えばイベント会場でチケットを買ってない人が再入場口から入場されてしまっては運営者としては堪ったものではありません。チケットは半券を返して、半券を見せて再入場するというルールがあります。(最近は半券の代わりにスタンプも多いですが、これはイメージしやすいのも思い浮かべてください。)

そんなチケットの半券に当たるものが「Session」です、運営者側が保管しておく「Cookie」のことをセッションといいます。

 

ログインを例にすると、「あなたのログイン番号は『USO800』です」と言われたら、あなたのPCはFTPにサービス側はSessionに同じ番号を保管して、アクセス時に同じであれば「既にログインしている」としてサービスを受けることができます。(Cookieを削除すると再ログインが必要になるのは、こういう事ですね)

 

◇TPCへの通知方法について

第三者への通知といいますが、どう行っているのでしょうか?

FPCは簡単です、Webサイトへのアクセスは、「このテキストとデザインと画像ファイル頂戴」と運営者に要求しているわけですから、この情報をお互いに覚えているだけです。

ではTPCはどうやって通知しているのでしょうか?

 

それが<link>や<script>、<img>というアクセスを指定するタグの事です。(タグの詳細は今回は省かせてもらいます、「HTML ○○」と検索すれば用途が出てきます。)

それぞれ「どこに置いてあるファイルにアクセスをする」という指定ができるのですが、別のサイトのURLも設定できるため、それを使って別のサイトにアクセスをさせているわけですね。

 

この動作自体は特に問題はありません、例えば企業ロゴを一つ一つおいていったら、10ページあれば10個の画像ファイルになってしまいます、作業的にはコピーでいいのですが、10枚分のメモリは用意したくないですよね。

なので別の場所に置いてあるものとか、引用するために用意されているサイトを使って、容量を削減しているわけですね。

なので「外部に通知するのはプログラム上当たり前」の事なのでこれ自体に問題はありません。

 

◇ITPについて

さて、ここまでデータのやり取りの説明を行ってきましたが、ITPとは何をしてしまったのでしょうか?

簡単に言えば、「密かにデータを送るの禁止」というルールが作られてしまったわけです。

 

FPCは先ほど説明した通り、「データ頂戴」「はいよ」とやり取りしているわけなので、閲覧者が意識していますので、制限には引っかかりません

第三者でも例えばクレジットカードのお支払いのように「こちらの対応は私の方で行います」と別のシステムを使う旨が示されていればこれはITPの対応外になります。

 

現状の大多数の広告や分析ツールで行っている、「密かにデータを送る場合」は制限時間の上限が作られてしまいます。

これが広告を運用する人やブログの広告収入をもらっている人に、直撃してしまったわけですね、

まあそれは別のお話としましょう、 ※一応ですが、正当な報酬が貰えない(払えない)というお話なので悪い事ではありませんよ

 

 

以上です、

言葉だけが独り歩きして、前提の「インターネット上のデータの取扱」を知らない人がたくさんいるようですので、その説明となります。

なので「FPC」と「TPC」「Session」の3つのデータの取扱を本日は覚えて帰っていただければと思います。

最後にざっくりとまとめると「Cookieは自分の半券、Sessionはサイト側の半券」です。

それでは失礼いたします。

(※すみません、図を用意しようと思ったのですが、上記の説明で時間が取れなかったので後日追加しておきます。)