1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ファーストパーティcookie,サードパーティcookie,パラサイトcookie 3種類のHTTP Cookieについて

Posted at

はじめに

cookieとは簡単に言えば、ウェブブラウザに保存される小さなデータです。
主に以下の3つの用途で使われます。

  • セッション管理: ユーザーのログイン状態、ショッピングカート、ゲームのスコア、またはその他のユーザーセッションに関するサーバーが覚えておくべきその他のものの保持
  • パーソナライズ: 表示言語や UI テーマのようなユーザー設定
  • トラッキング: ユーザーの行動の記録および分析

また、cookieは基本的にファーストパーティcookieサードパーティcookieの2種類に分けられます。
この記事ではファーストパーティcookieとサードパーティcookieに加え、パラサイトcookieの3種類のcookieの違いについて解説します。

cookieの設定

ウェブブラウザにcookieを設定する(別名:焼く)方法には以下の2種類があります。
2種類の方法について知ることで3種のcookieの違いが分かりやすくなると思いますのでこの記事で紹介します。

1.JavaScriptのdocument.cookie

以下のようなコードでcookieを設定可能です。

document.cookie = "favorite_food=tripe; SameSite=None; Secure";

2.HTTPヘッダーのSet-Cookie

以下のようなヘッダーを付与する事で、cookieを設定可能です。

Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT

ファーストパーティcookieとは

ユーザーが訪問したウェブサイトのドメインで焼かれるcookieです。
主にウェブサイト側がdocument.cookieやSet-Cookieヘッダーでcookieを焼き、セッション管理などを行います。

ここで重要なのが、cookieを焼く側に関係なく焼かれる側のドメインがファーストパーティの時にファーストパーティcookieになる点です。
例えば広告事業者などのサードパーティがdocument.cookieでcookieを焼く場合もファーストパーティcookieになります。

サードパーティcookieとは

ユーザーが訪問したウェブサイトのドメイン以外のドメインで焼かれるcookieです。
主に広告事業者が複数のドメインでユーザーに合わせて広告をターゲティングするのに使用されます。

外部ドメインにcookieを焼く必要があるのでSet-Cookieヘッダーを使用する必要があります。
document.cookieではサードパーティcookieを焼けません。

また、サードパーティcookieは外部にユーザーの情報が送信されるのでプライバシーの侵害が問題になっています。
ですので、各所でサードパーティcookieの規制が行われています。
こちらの記事にあるように、Chromeがサードパーティcookieを廃止しようとした時期もありました。
しかし、主に広告業界で必要不可欠な技術であるのも事実であり、後にGoogleはサードパーティcookieの廃止を撤回しました。
利便性と危険性を併せ持つ諸刃の剣みたいな技術ですね。

パラサイトcookieとは

パラサイトcookieはこちらの記事にあるように、アドテク界隈で使われている造語です。
主に広告事業者が特定のサイトにおける広告表示回数を制限するのに使われます。

前述の通り、サードパーティがdocument.cookieで焼くcookieはファーストパーティcookieです。
しかし、初見ではサードパーティcookieと勘違いしやすいcookieですのでアドテク界隈ではサードパーティが焼くファーストパーティcookieをパラサイトcookieと名付けたようです。
ファーストパーティの領域にcookieを焼くことでサードパーティcookieの規制を回避する、まるでファーストパーティに寄生しているかのようなcookieという意味合いです。
しかし、サードパーティcookieと、サードパーティが焼くファーストパーティcookieの違いを明確にする上で非常に有用な単語だと考えています。

まとめ

3種類のHTTP Cookieについて簡潔に述べると以下のようになります。

  • ファーストパーティcookie: ユーザーが訪問したウェブサイトのドメインに焼かれるcookie。ウェブサイト側(ファーストパーティ)が焼く。
  • サードパーティcookie: ユーザーが訪問したウェブサイトのドメイン以外のドメインに焼かれるcookie。サードパーティがSet-Cookieヘッダーで焼く。
  • パラサイトcookie: ユーザーが訪問したウェブサイトのドメインに焼かれるcookie。ファーストパーティcookieに含まれる。サードパーティがdocument.cookieプロパティで焼く。

表にまとめると以下のようになります。

cookieを焼く事業者→
cookieを焼く技術↓
ファーストパーティ サードパーティ
document.cookie ファーストパーティcookie パラサイトcookie
Set-Cookieヘッダー1 ファーストパーティcookie サードパーティcookie

おわりに

以前、cookieについて色々と調べていましたが、ファーストパーティcookieとサードパーティcookieの違いがややこしくて理解に苦労しました。
ですので、cookieの理解に苦しむ人に届けという想いで記事にしてみました。
皆さんのcookieについての理解が深まれば幸いです。

  1. ファーストパーティはファーストパーティのドメイン、サードパーティはサードパーティのドメインに付与する前提です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?