Cookie(クッキー)とは
Cookie(クッキー)とは、Webサーバーとクライアントコンピュータでやり取りする小さなファイルで、通常は、Webサーバーに接続した際にWebサーバーから送られてきてクライアントコンピュータの中に保存されます。
クライアントはサーバーにデータ送信するたびに必ずCookieも送ります。この際に、Cookieデータを盗み見されることによりセッションハイジャックなどが起こります。
なにに利用するか
・買い物の内容、履歴、お勧めの表示
・ログインの履歴、絞込条件の管理など
このCookie機能を利用してユーザーがどのようなサイトを訪問しているか、どのような商品に興味を持っているか、などの情報収集に利用されたりもしており、このような使い方をTracking(追跡)Cookieと言います。
利用する上での注意点は?
このように今の対話型Webアプリではなくてはならないものですが、認証状態をずっと保持していると離席中などに他人にブラウザ操作された場合に問題となります。よって開発者は
・一定時間の無操作で無効となる設定
・ブラウザを終了することで無効となる設定
など、Cookieに適切な有効期限を設定する必要があります。
1stパーティーCookieと3rdパーティーCookie
閲覧したサイトのドメインを対象としたCookieが「ファーストパーティーCookie」で、主に認証状態のチェックや画面遷移管理に使われ、また、閲覧したサイト以外のドメインを対象とし、主にトラッキングのために使われるCookieを「サードパーティーCookie」と呼びます。
Cookie規制の背景
昨年あたりからサードパーティーCookieが規制の方向に向かっています、理由はプライバシーの問題です。単にトラッキングしているだけならプライバシー問題と言われなかったのですが、FBのようにトラッキングデータとユーザーアカウントを結び付けて管理するサイトが現れたため、規制される流れになってきています。
規制内容
- すでにApple(Safari)ではサードパーティCookieを保存しなくなりました
- サードパーティCookie利用者はJavaScriptを用いてファーストパーティCookieを利用した新たなトラッキング方法に移行
- その対策としてAppleはファーストパーティーCookieであっても、JavaScriptを用いて管理されたものは24時間で破棄されるようになった
- Google(Chrome)も追随し2023年後半には同じような規制をすると発表
- 開発でよく利用しているログイン認証は問題無し(ファーストパーティであること、JavaScript操作していないこと)
WebStorageにおける規制
- Cookieは4KBytes
- WebStorageは5MBytes
主要ブラウザでは実装済みで、セッションストレージとローカルストレージの2種類があり、セッションストレージはブラウザ、タブを閉じるまで、ローカルストレージは無期限という内容になっています。
おわりに
今後はCookieではなくWebStorage(ブラウザ側に用意された記憶域)を利用してのトラッキングが行われるようになり、気が付くと自分のPCの記憶域がこれらトラッキング情報でいっぱいになるかも?