[16] [DFN[[[Cookie]]]] ([DFN[[[クッキー]]]]) は、[[利用者エージェント]]に状態を表すデータを一時保存する仕組み、あるいはその仕組みにより保存されたデータです。

* 仕様書

[REFS[
- [78] [CITE@en[RFC 6265 - HTTP State Management Mechanism]] ([TIME[2014-10-12 15:11:47 +09:00]] 版) <http://tools.ietf.org/html/rfc6265#section-5.3>
- [87] [CITE@en[RFC 6265 - HTTP State Management Mechanism]] ([TIME[2014-10-12 15:11:47 +09:00]] 版) <http://tools.ietf.org/html/rfc6265#section-6.1>
- [89] [CITE@en[RFC 6265 - HTTP State Management Mechanism]] ([TIME[2014-10-12 15:11:47 +09:00]] 版) <http://tools.ietf.org/html/rfc6265#section-6.2>
- [92] [CITE@en[RFC 6265 - HTTP State Management Mechanism]] ([TIME[2014-10-12 15:11:47 +09:00]] 版) <http://tools.ietf.org/html/rfc6265#section-7.2>
- [48] [[Web Applications 1.0]]
]REFS]

* API

[41] [[クッキー]]は、
[[HTTPヘッダー]]を使って
[[HTTP]]
通信の当事者間で利用する
[[API]]
を中心に、
いろいろな手法で扱われます。


[90] [[鯖]]側にせよ[[利用者エージェント]]側にせよ、多くの[[プラットフォーム]]では[[文字列]]ベースの[[クッキー]] [[API]]
が提供されており、開発者が個々で[[クッキー]]の構文を処理しなければならないため、
正しく処理されるとは限らず、[[相互運用性]]の問題につながっていると [[RFC 6265]]
は指摘しています。できるだけ[[文字列]]ベースの [[API]]
ではなく、より意味を表した [[API]] を提供する方が良いと考えられています。 [SRC[>>89]]

[FIG(short list)[ [167] [[HTTPクライアント]]と[[HTTPサーバー]]との [[API]]
- [CODE(HTTP)@en[[[Set-Cookie:]]]]
- [CODE(HTTP)@en[[[Cookie:]]]]

[HISTORY[
- [CODE(HTTP)@en[[[Set-Cookie2:]]]]
- [CODE(HTTP)@en[[[Cookie2:]]]]
- [[[CODE[Cookie]] (auth-scheme)]]
- [CODE[cookie-scope]]
- [CODE[Origin-Cookie:]]
- [[DNT]]

]HISTORY]
]FIG]

[FIG(short list)[ [42] [[DOM API]]
- [CODE(JS)@en[[[document.cookie]]]]
- [CODE(JS)@en[[[navigator.cookieEnabled]]]]
- [[Cookie Store API]]

[HISTORY[
- [[ストレージミューテックス]]
- [[Cookie Change Events]]
]HISTORY]
]FIG]

]FIG]

[FIG(short list)[ [130] [[HTTPクライアント]] [[API]]
- [[Get Named Cookie]]
- [[Get All Cookies]]
-  [[Add Cookie]]
- [[Delete Cookie]]
- [[Delete All  Cookies]]
- [131] [CITE[[[chrome.cookies]] - Google Chrome]], [TIME[2020-10-01T05:34:18.000Z]] <https://developer.chrome.com/extensions/cookies>
- [CODE[--cookie-jar]]
- [CODE[--cookie]]
- [CODE[--load-cookies]]
- [CODE[--save-cookies]]
- [CODE[--http-cookie]]
- [CODE[cookies]]
]FIG]

[FIG(list)[ [164] [[アプリケーションサーバー]]用 [[API]] や[[クッキー]]操作用[[ライブラリー]] [[API]]
- [46] [[クッキー串]]
- [165] [CITE@en[GitHub - salesforce/tough-cookie: RFC6265 Cookies and CookieJar for Node.js]], [TIME[2020-10-01T03:51:24.000Z]] <https://github.com/salesforce/tough-cookie>
]FIG]

[134] 
[[WAF]] の[[クッキー]]機能のように特定の場面で使われる [[API]]
は、
標準の[[クッキー]]を扱える汎用性を捨てて便利さを採ることがあります。
例えば、
[[クッキー]]の名前と値は[[パーセント符号化]]された [[UTF-8]]
[[文字列]]と仮定した [[API]]
が提供されることがあります。
任意の [[HTTP]] のデータを扱うならそのような仮定を置けませんが、
[[WAF]]
の[[利用者]] = [[Webアプリケーション]]の開発者は、
その
[[Webアプリケーション]]が使う[[クッキー]]の名前と値の仕様を決定できる立場にいます。
([[Webブラウザー]]にとっては[[不透明]]な[[文字列]]でしかありませんから、
そのような仮定があろうがなかろうが関知しないのです。)


** クッキーデータモデル

[FIG(short list)[ [168] [[Cookie]] [[データモデル]]
- [43] [[Cookie属性]]
- [44] [[Cookieの日付形式]]
- [45] [[Cookieのサイズ制限]]
- [[クッキーの満期]]
- [[第三者クッキー]]
- [[Public Suffix List]]
]FIG]


[79] [[クッキー]]は、次の構成要素を持ちます [SRC[>>78]]。
[FIG(short list)[
- 名前
- 値
- 満期時刻
- ドメイン
- パス
- 作成時刻
- 最終アクセス時刻
- 持続フラグ
- ホストのみフラグ
- 保安のみフラグ
- HTTPのみフラグ
]FIG]

;; [80] これらは[[Cookie属性]]にほぼ相当しますが、微妙に一対一対応はしていません。

;; [82] これらの値がどのように設定されるかは、 [CODE(HTTP)@en[[[Set-Cookie:]]]]
を参照してください。

[91] 名前、値、ドメイン、パスは[[バイト列]]です。 ([[クッキー]]開発当初の意図、
および仕様に適合する[[クッキー]]のみ用いている限りは [[ASCII]]
[[文字列]]ですが、不適合なものも含めて完全に扱うためには、[[バイト列]]とする必要があります。)

** クッキー直列化方式

[135] 
[[クッキー]]データの表現方法として最も基本的なものは、
[[HTTPヘッダー]]の[[バイト列]]たる[[ASCII文字列]]としての記述です。
[[HTTPサーバー]]は[[HTTP応答]]の [CODE[Set-Cookie:]]
[[ヘッダー]]で[[クッキー]]と[[クッキー属性]]群を伝達します。
[[HTTPクライアント]]は[[HTTP要求]]の
[CODE[Cookie:]] [[ヘッダー]]で[[クッキー]]を伝達します。

[169] 
[CODE[Cookie:]] は、1つ[[以上]]の [CODE[cookie-pair]] を [CODE[;]]
で連結した [CODE[cookie-string]] です。
[[クッキー]]の名前と値だけを記述する、
最も単純な記述形式を並べたものです。

[170] 
[CODE[Set-Cookie:]] は、 [CODE[cookie-pair]] に[[クッキー属性]]を付与する必要があるため、
[CODE[Cookie:]] より少し複雑になっています。 
1つの[[ヘッダー]]に1つの[[クッキー]]しか記述できません。
複数の[[クッキー]]を発行するときは、複数の 
[CODE[Set-Cookie:]] [[ヘッダー]]を使います。

[171] 
[CODE[Cookie:]],
[CODE[Set-Cookie:]] から派生した旧
[[RFC]]
の
[CODE[Cookie:]],
[CODE[Set-Cookie:]], 
[CODE[Set-Cookie2:]] がありました。
構文は一見似ていますが、細部に違いがありました。
これらの [[HTTPヘッダー]]はほとんど使われず、[[廃止]]されました。

[172] 
[[HTTP]]
を使った[[クライアント]]の[[プログラム]]や[[ライブラリー]]には、
[[クッキー]]を指定するまたは取得する専用の [[API]]
がない場合でも、
[[HTTPヘッダー]]を読み書きする [[API]]
があって、それを通じて[[クッキー]]を扱えることが多いです。

[173] 
[[curl]]
は
[CODE[--cookie]] オプションで
[CODE[cookie-string]]
を指定できます。
[SEE[ [CODE[--cookie]] ]]

[174] 
[[curl]]
は
[CODE[--cookie]] オプションで指定したファイルで
[CODE[Set-Cookie:]]
構文を使って記述できます。
[SEE[ [CODE[--cookie]] ]]

-*-*-

[175] 
[[Netscape Navigator]]
は[[テキストファイル]]で[[クッキー]]を保存していました。
[[Lynx]],
[[wget]],
[[curl]]
など他の
[[HTTPクライアント]]もこの[[ファイル形式]]を採用しました。
多
[[HTTPクライアント]]間の[[クッキーストア]]データ交換の[[事実上の標準]]となっています。
[SEE[ [[Netscape cookie file format]] ]]

[176] 
[[IE]]
は独自形式で[[クッキー]]を保存していました。
[SEE[ [[MSIE cookie file format]] ]]
近年の
[[Webブラウザー]]もそれぞれの独自形式で保存するのが主流となっています。

[177] 
かつて
[[Perl]]
でよく使われていた
[[HTTPクライアント]]の
[[LWP]]
は、
[CODE[Set-Cookie3]]
形式で[[クッキー]]を保存していました。
[[LWP]]
との互換性のため他の[[プログラミング言語]]の[[ライブラリー]]にもこの形式に対応しているものがあります。

[178] 
各種の
[[HTTPクライアント]]はそれぞれのデータ形式でそれぞれの場所に[[クッキー]]を保存していました。
便宜上、他の
[[HTTPクライアント]]の[[クッキー]]情報を利用したいことがあります。

- [179] 
[[Unix]] 系の
[[CLI]]
の[[プログラム]]や[[プログラミング言語]]の[[ライブラリー]]では、
[[Netscape cookie file format]]
が[[事実上の標準]]となっており、
[[LWP]]の 
[CODE[Set-Cookie3]]
が使われることもありました。
- [180] 
[[日本]]の[[平成時代]]後期には、
[[Windows]]
で[[ニコニコ動画]]に関係する[[プログラム]]を中心に、
[[クッキー]]取得[[ライブラリー]]の
[[CookieGetterSharp]]
の系譜がよく使われました。
この[[ライブラリー]]は、
当該環境上で動作する
[[IE]]、
[[Firefox]]、
[[Chrome]]
など 
[[Webブラウザー]]が保存する[[クッキー]]へのアクセスを提供していました。
利用する[[プログラム]]は、
これを組み込むだけで、
[[利用者]]に好きな
[[Webブラウザー]]を選択させて[[クッキー]]を利用できました。
-
[190] 
[CITE@en[FAQ · yt-dlp/yt-dlp Wiki · [[GitHub]]]], [TIME[2026-01-07T04:06:26.000Z]] <https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp>




-*-*-

[181] 
[[Chrome拡張]]の [CODE[chrome.cookies]]、
[[WebDriver]] の [[Get All Cookies]] の類、
[[Cookie Store API]]
など、
[[JSON]] や [[JavaScript]] [[オブジェクト]]の形で[[クッキー]]を表現する方式もあります。
[[クッキー]]を扱ういろいろな[[プログラミング言語]]の[[ライブラリー]]にも、
似たような
[[API]]
が用意されていることが多いです。
記述に使用される[[データ構造]]や[[データ型]]などに、それぞれ少しずつ違いがあります。


* クッキーストア

[109] [[利用者エージェント]]は、[[利用者]]の[DFN[[RUBYB[クッキーストア]@en[cookie store]]]]を保持しています。

[132] 
[[プライベートブラウジング]]か否かなど、
[[利用者]]から見て1つの[[利用者エージェント]]でも、
複数の区別される部門それぞれで[[クッキーストア]]を持っていることがあります。


* クッキーの追加

[86] [[著者]]は[[クッキー]]を次の方法で追加 (発行) できます。

[FIG(list)[
- [CODE(HTTP)@en[[[Set-Cookie:]]]] [[ヘッダー]]
- [CODE(JS)@en[[[document.cookie]]]] の設定
- [CODE(HTML)@en[[[<meta http-equiv=Set-Cookie>]]]] ([[不適合]])
- [[Cookie Store API]]

[HISTORY[
- [CODE(HTTP)@en[[[Set-Cookie2:]]]] [[ヘッダー]] ([[廃止]])
]HISTORY]
]FIG]

[133] 他に
[[ブラウザー拡張]]や [[WebDriver]]、
その他[[ブラウザー]]依存の方法でも追加できるかもしれません。


* クッキーの削除

[83] 保存された[[クッキー]]が削除されるのは、次の場合です。
[FIG(short list)[
- [[クッキーの満期]]
- [[超過クッキーの削除]]
- [[現在セッションが終わった]]
]FIG]

[84] この他、多くの [[Webブラウザー]]は[[利用者]]が特定の[[クッキー]](群)またはすべての[[クッキー]]を削除する方法を提供しています。
[[利用者エージェント]]は、[[利用者]]が保存されている[[クッキー]]を管理する仕組みを提供する[['''べきです''']] [SRC[>>92]]。

[85] このうち[[著者]]が制御できるのは、[[クッキーの満期]]のみです。
[[著者]]が直接[[クッキー]]の削除を指示することはできませんが、
過去の日付を満期時刻とした[[クッキー]]を送信することによって削除できます。

[88] [[鯖]]は、[[利用者]]がいつでも[[利用者エージェント]]が保存している[[クッキー]]を削除できることを踏まえ、
いくつかの[[クッキー]]が [CODE(HTTP)@en[[[Cookie:]]]] [[ヘッダー]]に含まれなかったとしても華麗に対処できる[['''べきです''']]
[SRC[>>87]]。

* クッキーの有効性

[93] [[利用者エージェント]]は、[[利用者]]が[[クッキー]]を無効にする仕組みを提供する[['''べきです''']]
[SRC[>>92]]。

;; [CODE(HTTP)@en[[[Cookie:]]]] や [CODE(HTTP)@en[[[Set-Cookie:]]]] も参照。

[103] とはいえ、[[クッキー]]をまったく実装しない[[利用者エージェント]]は
[[Web互換]]とはいえません。[[クッキー]]はあらゆる [[Webサイト]]で基礎技術として用いられています。
[[利用者]]の混乱を防ぐため、[[利用者エージェント]]は既定の状態で[[クッキー]]を有効にするべきです。
また[[利用者]]が[[クッキー]]を無効にする場合には、多くの [[Webサイト]]が正常に動作しなくなる可能性が高いことを理解する必要があります。

[117] [[プライバシー]]に過敏な一部利用者や、[[クッキー]]を法的に規制している[[欧州]]当局が反発するであろうことを考えると、
[[クッキー]]無効化の機能が完全に削除されることはなさそうです。

[118] しかしながら、[[利用者]]の混乱を最低限に抑えるために、[[利用者エージェント]]の設定画面で一般[[利用者]]が容易に無効化してしまわない形にした方が良さそうです。
また、特定の[[Webサイト]]に限定しない[[利用者エージェント]]全体の[[クッキー]]無効化オプションは無くてもよいかもしれません。

[119] 一方で、不正な[[第三者クッキー]]の提供元[[ドメイン]]リストのようなものを[[利用者エージェント]]提供元で管理し、標準で当該リストに掲載された[[ドメイン]]の[[クッキー]]は拒否するような仕組みはあっても良さそうです。

[120] [[サーバー]]側で[[クッキー]]を使っていると[[クライアント]]側ではどうしようもありませんが、
[CODE(HTTP)@en[Set-Cookie:]] [[ヘッダー]]の存在により、
[[クッキー]]が無効になっている場合に、表示中のページが不完全かもしれないことを[[利用者]]に警告してもいいかもしれません。
[CODE(JS)@en[document.cookie]] へのアクセスがあったときにも、同様に警告した方が良いかもしれません。

[108] [CODE(JS)@en[[[navigator.cookieEnabled]]]] を参照。

* 法令との関係

[98] [[EU]] においては、[[著者]]は[[クッキー]]を利用する前に[[利用者]]にその旨の許諾を得る必要があるかもしれません。

[99] [[EU]] に対して提供されている[[Webサービス]]は初回アクセス時や利用登録時に[[クッキー]]利用に同意することを[[利用者]]に求める画面を表示するのが普通です。
また世界的に提供されていて [[EU]] も提供対象に含まれている [[Webサービス]]では、
[[IPアドレス]]などによって [[EU]] からのアクセスと判断された場合にのみそのような画面を表示する場合もあります。

* 文脈

[149] [[クッキー]]は[[セッション]]の管理に使われます。
[[セッション]]と一口にいっても、
いろいろなものがあります。

- [148] [[sticky session]] のように技術的に必要な連続性の検知のため使うもの
- [150] [[Webアプリケーション]]の[[ログイン]]セッションの管理に使うもの
- [151] [[広告]]配信や[[利用者]]の行動監視などの目的で[[追跡]]に使うもの

[152] 
[[サーバー]]で繰り返し使う[[要求]]データを毎回送信させる手法として使われることがあります。

[153] 
[[クライアント]]で使うデータの[[ストレージ]]として使われることがありました。
この目的には [CODE[localStorage]] が新設されたため、
現在ではより便利なそちらを使うことが多くなっています。


* 歴史

** Netscape による定義

[47] [[NetscapeのCookie仕様]]

[77] [CITE[Netscape Cookies]]
( ([TIME[2014-04-07 04:35:01 +09:00]] 版))
<http://web.archive.org/web/20030221181342/http://devedge.netscape.com/library/manuals/2000/javascript/1.3/reference/cookies.html>

** RFC における定義

[102] [[IETF]] は [[RFC 2109]] で[[クッキー]]の標準化を試みましたが、
[[Netscape Cookie]] との互換性がそれほど高くないものでした。
[[RFC 2965]] では [[Netscape Cookie]] とも [[RFC 2109]]
とも互換性のない新たな[[クッキー]]により両者を置き換えることを試みました。
これらは[[クッキー]]の実装に若干の影響は与えましたが、
基本的には市場から無視されました。いずれも現在は [[RFC 6265]]
により[[廃止]]されています。

- [[RFC2109のCookie仕様]] (Version=1)
- [[RFC2965のCookie仕様]] (Version=1)
- RFC 2964 『Use of HTTP State Management』 <urn:ietf:rfc:2964>

[50] 
>
Because it was used in Netscape's original implementation of state management, we will use the term cookie to refer to the state information that passes between an origin server and user agent, and that gets stored by the user agent.

> [[起源鯖]]と[[利用者エージェント]]の間で受け渡しされ、[[利用者エージェント]]で蓄積される状態情報を、
[[Netscape]] の元々の状態管理の実装で「cookie」となっていたので、
ここでも [DFN@[cookie]] と呼びます。

;; [[RFC 2109]] [CSECTION@en[2. TERMINOLOGY]]/[[RFC 2965]] [CSECTION@en[1. TERMINOLOGY]]

[34]
[CITE@en['''['''cs/0105018''']''' HTTP Cookies: Standards, Privacy, and Politics]] ([CODE[2005-09-17 23:32:47 +09:00]] 版) <http://arxiv.org/abs/cs.SE/0105018>

[[RFC]] の中の人の[[論文]]。

** Cookie 串

[17]  
- HTTP State Management Specification 
WAP-223-HTTPSM-20001213-a
<http://www.openmobilealliance.org/wapdocs/wap-223-httpsm-20001213-a.pdf>
- HTTP State Management SIN 
WAP-223_101-HTTPSM-20010928-a
<http://www.openmobilealliance.org/wapdocs/wap-223_101-httpsm-20010928-a.pdf>
(Editorial な修正だけで前版と同じ)

これらの規格は、[[クッキー串]]に Cookie 管理を一部肩代わりさせるための仕組みを定義しています。

** DOM で Cookie の指定

[13] '''質問''' (''[[名無しさん]]'' [WEAK[2003-07-31 07:00:44 +00:00]]): ある本によると、 [CODE(JS)[document.cookie = "name=value;expires=March 14, 1998 12:12:00; domain=example.net; path=/path/to/something; secure=true"]]
のように書いて、 [CODE[secure]]
(既定値 [CODE[false]]) が [CODE[true]]
だとその Cookie はサーバーに送信され、
そうでなければされないそうですが、これは正しいんですか?

[20] というか [CODE(HTTP)[[[secure]]]] 
属性は値を取らない属性として定義されているはずなのに胡散臭い本だよなあ。

** Cookie の消去

[21] '''Q:''' 以前に設定した Cookie を消去するにはどうしたらよいですか?

[22] '''A:''' 有効期限 ([CODE(HTTP)[[[expires]]]]) 
を過去の日付に設定しましょう。

** 他のサイトに Cookie を設定

[23] '''Q:''' [SAMP[a.example]] というドメインのページで
[SAMP[b.example]] というドメインの Cookie を設定したいのですが、
なぜか設定されません。同じドメインなら設定できます。なぜでしょうか?

[24] '''A:''' このような[Q[第3者 Cookie]] は安全上の理由から禁止されています。

** GMT記述は必須?

[25] '''質問''' (''[[Air]]'' [WEAK[2005-04-22 11:56:41 +00:00]]): expires項目には日付時間の後にGMTの記述が必要と書いてあるのを見かけますが、
無い場合は、不具合が発生する可能性があるのでしょうか?

[26] ''[[名無しさん]]'' [WEAK[2005-04-23 01:23:48 +00:00]]: >>25 よく使われている
[[NetscapeのCookie仕様]]は
[CODE(HTTP)[[[expires]]]] [[属性]]の書式についての規定が曖昧ですが、
- 日付が [[GMT]] でなければならないことと
- 最後に [CODE(HTTP)[GMT]] と書かなければならないこと

は明記されています。

前者から、[[利用者エージェント]]が甘く解釈して
[CODE(HTTP)[GMT]] と書かれていなくても勝手に
[[GMT]] と理解してくれることはあるかもしれませんが、
そうだとしてもエラー処理に過ぎず、
仕様上は認められていません。
書かれていなければ''不具合が発生する可能性が高いです''。

参考: どんな不具合が発生するか
[WEAK[(しないか)]] は実装次第ですが、
特に次のようなことが考えられます。

- 意図しない[[時間帯]]
[WEAK[([[利用者エージェント]]の計算機のある地域の時間など)]] と解釈される
- [CODE(HTTP)[[[expires]]]] 属性自体が書式無効として無視される
- [CODE(HTTP)[[[Set-Cookie]]:]]
欄自体が書式無効として無視される
- 書式無効により、悪意があるかもしれないので
[[Webブラウザ]]がより安全な
[WEAK[(機能が制限された)]] モードに移行する

など。

** 利用者界面

[51] [[IETF]] の [[Cookie]] 仕様 ([[RFC 2109]]、[[RFC 2965]]) は[[プライバシー]]を根拠に次のことを[[利用者エージェント]]に求めていました。

;; [[RFC 2109]] [CSECTION@en[7.1  User Agent Control]], [[RFC 2965]] [CSECTION@en[6.1  User Agent Control]]

- [52] [[利用者]]が完全に [[Cookie]] の送信と保存を無効化できなければ[['''なりません''']]。
- [53] [[利用者]]が[RUBYB[状態[[セッション]]]@en[stateful session]]が進行中かどうかを判断できなければ[['''なりません''']]。
- [54] [[利用者]]が [[Cookie]] の [CODE(HTTP)@en[[[Domain]]]] [[属性]]に基づき [[Cookie]] を保存するか制御できなければ[['''なりません'''。
- [55] [[利用者]]が [CODE(HTTP)@en[[[Cookie:]]]] [[頭欄]]を送信しないように設定できる[['''べきです''']]。
- [56] [[利用者エージェント]]が終了する時にすべての状態情報を[[利用者]]に捨てさせる[['''べきです''']]。かわりに状態情報を保持するかどうかを[[利用者]]に尋ねて[['''構いません''']]。そのとき既定値は「いいえ」であるべきです。

[57] 更に、 [[RFC 2965]] [CSECTION@en[6.2  Origin Server Role]] は[[起源鯖]]にも[[利用者]]に提示する情報の提供を求めています。

- [58] [[起源鯖]]は [[Cookie]] に [CODE(HTTP)@en[[[CommentURL]]]] [[属性]]か [CODE(HTTP)@en[[[Comment]]]] [[属性]]を追加するべきです。[CODE(HTTP)@en[[[CommentURL]]]] [[属性]]の方が[[多言語]]などリッチに情報提供できるので[RUBYB[好ましいです]@en[preferred]]。

** 

- [2] Session Identification URI (W3C WD) <http://www.w3.org/TR/WD-session-id.html>
- [1] ''The Unofficial Cookie FAQ'' <http://www.cookiecentral.com/faq/> (英文)
- [9] ''Hey! Java Programming! //Cookie//'' <http://www.mars.dti.ne.jp/~torao/program/html/cookie.html>
- [10] ''HTTP-State Mailing List Homepage'' <http://www.bell-labs.com/mailing-lists/http-state/>
- [11] ''You've eaten a lot of cookies'' <http://members.tripod.co.jp/shiroikumo/cookie/>
- [14] 経産省、Cookie盗聴への対策を指示 <http://slashdot.jp/security/03/08/12/0426205.shtml?topic=92> [CODE(HTTP)[[[secure]]]] 属性が正しく運用されていないことを指摘しているのが特に評価できるというかなんというか。
- [15] [WEAK[2003-09-19 11:43:37 +00:00]] ''[[名無しさん]]'': ''理解せずに語られているcookieのプライバシー性 - 高木浩光@茨城県つくば市 の日記'' <http://d.hatena.ne.jp/HiromitsuTakagi/20030816#p1>
- [19] <http://groups.google.co.jp/groups?threadm=squfzgke05p.fsf%40stellar.co.jp>: Cookie の語源は? という話。
2003年。 ([[fj]] にもまだまともなスレがちゃんとあるんだな・・往時ならもっと活発だったかもしれんが。)

[27]
[CITE[IE,Mozilla,KonquerorにCookieハイジャックの欠陥]] <http://fumika.jp/nikki/2004/09/multibrowser-cookie-vulnerability>
([[名無しさん]])

[29]
[CITE[おさかなラボ / Blog Archive / MixiとCookieドメイン]] <http://kaede.to/~canada/doc/mixi-and-cookie>
([[名無しさん]] [WEAK[2006-10-20 00:37:12 +00:00]])

[30]
[CITE["週"記(2006-01-20)]] <http://www.devnull.jp/tdiary/20060120.html#p01>
([[名無しさん]] [WEAK[2006-10-20 00:43:18 +00:00]])

[4]  [[HTML]] と関連付けられた [[JavaScript]]
では、 [CODE(JS)[document.cookie]] で cookie
に access できます。

[5]  >>4 [[Mozilla]] では、まだ [[XHTML]] の時にこれが出来ません。
([[JavaScriptのQ&A]>>11] を参照。)

[3] Cookie を有効にしろと言って、見に来た人を追い出す
Web site は逝ってよし。読む価値なし。

[6]  Cookie の有効期限の指定については、[[Cookieの日付形式]]を参照。

[12]  [[EZWeb]] の端末は [CODE(HTTP)[Version=1]] の Cookie
にも対応しているようなことが''技術情報'' <http://www.au.kddi.com/ezfactory/tec/spec/cookie.html>
には書かれていますが、怪しい記述ばかりで本当かどうか不明です。

ここには [CODE(HTTP)[Version]] パラメーターが指定されていないと
[CODE(HTTP)[Version=0]] とみなされることが説明されているだけです。

** Public Suffix

[31]
[CITE@en[crisp's blog &#187; Blog Archive &#187; IE and 2-letter domain-names]] ([CODE[2007-02-14 19:27:55 +09:00]] 版) <http://therealcrisp.xs4all.nl/blog/2007/02/12/ie-and-2-letter-domain-names/>
([[名無しさん]] [WEAK[2007-02-14 10:32:06 +00:00]])

[32]
[CITE@ja['''['''IE''']''' Internet Explorer が 2 文字のドメインに対して Cookie を設定しない]] ([CODE[2007-02-14 19:27:52 +09:00]] 版) <http://support.microsoft.com/kb/310676>

[28]
[[Opera]]の中の人の、[[Cookie]]の[[ドメイン]]同一性に関する判定についての[[I-D]]

[CITE@en[Enhanced validation of domains for HTTP State Management Cookies using DNS]]
<urn:ietf:id:draft-pettersen-dns-cookie-validate-00>

[CITE@en[The TLD Subdomain Structure Protocol and its use for Cookie domain validation]]
<urn:ietf:id:draft-pettersen-subtld-structure-00>

([[名無しさん]] [WEAK[2006-03-30 12:43:29 +00:00]])

** 標準化

[18]  [CITE[IETF mailing list for HTTP State Management Mechanism - ietf-httponly-wg | Google グループ]] ([TIME[2008-12-23 22:15:04 +09:00]] 版) <http://groups.google.com/group/ietf-httponly-wg/browse_thread/thread/10677847df8c0f96/d42e2dbee61f5918?show_docid=d42e2dbee61f5918>

[38] [CITE['''['''http-state''']''' Cookie storage limits (was Re: Updated draft)]]
([TIME[2009-08-18 04:10:26 +09:00]] 版)
<http://www.ietf.org/mail-archive/web/http-state/current/msg00160.html>

** [CODE(HTTP)[Cookie]] auth-scheme

[36] [[[CODE[Cookie]] (auth-scheme)]] 参照。

** 

[33]
[CITE@ja[スラッシュドット ジャパン | Googleがcookie有効期間を2年に短縮]] ([CODE[2007-07-22 15:20:11 +09:00]] 版) <http://slashdot.jp/article.pl?sid=07/07/17/1345208&from=rss>

[35]
ほう、 [[Mosaic Netscape 0.9]] が [[Cookie]] を実装していたとはしらなんだ。

[37] [CITE@ja[クッキーの最大サイズ制限について]] ([TIME[2005-11-07 07:42:07 +09:00]] 版) <http://www.teria.com/~koseki/memo/cookie/cookie_4k.html>

[39] [CITE@ja[Cookieセッション、BASIC認証マジパネー - p0t]]
([TIME[2010-01-05 20:39:49 +09:00]] 版)
<http://docs.komagata.org/4437>

[40] [CITE@ja[ここギコ!: 携帯電話のCookie周りについて]]
([TIME[2010-03-17 00:04:26 +09:00]] 版)
<http://kokogiko.net/m/archives/002179.html>

[59] [CITE[IRC logs: freenode / #whatwg / 20100928]]
( ([TIME[2010-10-10 15:38:22 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20100928>

[60] [CITE[lcamtuf's blog: HTTP cookies, or how not to design protocols]]
( ([TIME[2010-11-09 05:21:42 +09:00]] 版))
<http://lcamtuf.blogspot.com/2010/10/http-cookies-or-how-not-to-design.html>

[61] [CITE[サードパーティCookieの歴史と現状 Part1 前提知識の共有 - 最速転職研究会]]
( ([TIME[2011-11-26 02:44:01 +09:00]] 版))
<http://d.hatena.ne.jp/mala/20111125/1322210819>

[62] [CITE[サードパーティCookieの歴史と現状 Part2 Webアプリケーションにおける利用とその問題 - 最速転職研究会]]
( ([TIME[2011-12-03 15:04:32 +09:00]] 版))
<http://d.hatena.ne.jp/mala/20111130/1322668652>

[63] [CITE[サードパーティCookieの歴史と現状 Part3 広告における利用、トラッキング、ターゲティング広告におけるプライバシーリスク - 最速転職研究会]]
( ([TIME[2011-12-03 15:04:24 +09:00]] 版))
<http://d.hatena.ne.jp/mala/20111202/1322835191>

[64] [CITE@en[Safari Trackers « Web Policy]]
( ([TIME[2012-02-18 18:55:52 +09:00]] 版))
<http://webpolicy.org/2012/02/17/safari-trackers/>

[65] [CITE@ja[GoogleがSafariの設定を迂回してユーザーを追跡していたことが判明 - ITmedia ニュース]]
( ([TIME[2012-02-18 18:54:50 +09:00]] 版))
<http://www.itmedia.co.jp/news/articles/1202/18/news015.html>

[66] [CITE@en[Safari Trackers « Web Policy]]
( ([TIME[2012-02-18 18:55:52 +09:00]] 版))
<http://webpolicy.org/2012/02/17/safari-trackers/>

[67] [CITE@ja[GoogleがSafariの設定を迂回してユーザーを追跡していたことが判明 - ITmedia ニュース]]
( ([TIME[2012-02-18 18:54:50 +09:00]] 版))
<http://www.itmedia.co.jp/news/articles/1202/18/news015.html>

[68] [CITE[HTTP::Cookies - search.cpan.org]]
( ([TIME[2012-03-04 00:36:16 +09:00]] 版))
<http://search.cpan.org/dist/HTTP-Cookies/lib/HTTP/Cookies.pm>

[69] [CITE[CGI::Cookie - search.cpan.org]]
( ([TIME[2012-03-04 00:41:06 +09:00]] 版))
<http://search.cpan.org/dist/CGI/lib/CGI/Cookie.pm>

[70] [CITE[GoogleがSafariの設定を迂回してトラッキングしていたとされる件について - 最速転職研究会]]
( ([TIME[2012-05-08 08:54:18 +09:00]] 版))
<http://d.hatena.ne.jp/mala/20120220/1329751480>

[71] [CITE@en[''''''[''''''Apache-SVN'''''']'''''' Contents of /httpd/apreq/trunk/library/cookie.c]]
( ([TIME[2012-07-12 08:41:36 +09:00]] 版))
<http://svn.apache.org/viewvc/httpd/apreq/trunk/library/cookie.c?view=markup>

[72] [CITE[GoogleがSafariの設定を迂回してトラッキングしていたとされる件について(2) - 最速転職研究会]]
( ([TIME[2012-08-15 05:33:05 +09:00]] 版))
<http://d.hatena.ne.jp/mala/20120815/1344999915>

[73] [CITE@en-GB[Cookie Law Compliance Solution | Cookie Control by Civic]]
( ([TIME[2013-02-04 09:14:13 +09:00]] 版))
<http://www.civicuk.com/cookie-law/index>

[74] [CITE[Firefox 22のCookieに関するポリシー変更(予定)についての意見書]]
( ([TIME[2013-02-26 01:18:31 +09:00]] 版))
<https://gist.github.com/mala/5028502>

[75] [CITE@ja[Appleがクッキーを利用しているアプリを拒絶へ: Ad Identifierへの統一がねらい]]
( ([TIME[2013-02-26 07:32:49 +09:00]] 版))
<http://jp.techcrunch.com/archives/20130225apple-rejecting-apps-using-cookie-tracking-methods-signaling-push-to-its-own-ad-identifier-technology-is-now-underway/>

[76] [CITE@ja[Twitter / bulkneets: 懇親会でOperaの人がサードパーティCookie一瞬デフォ ...]]
( ([TIME[2013-02-27 00:50:25 +09:00]] 版))
<https://twitter.com/bulkneets/status/129143900727279616>

[94] [CITE@en[draft-pettersen-cookie-origin-02 - Identifying origin server of HTTP Cookies]]
( ([TIME[2014-10-16 15:24:02 +09:00]] 版))
<http://tools.ietf.org/html/draft-pettersen-cookie-origin-02>

[95] [CITE@en[draft-vyncke-v6ops-happy-eyeballs-cookie-00 - Happy Eyeballs Considerations for HTTP State Management Mechanisms]]
( ([TIME[2014-10-28 08:06:15 +09:00]] 版))
<http://tools.ietf.org/html/draft-vyncke-v6ops-happy-eyeballs-cookie-00>

[96] [CITE@en[draft-willis-sip-cookies-00 - SIP Cookies]]
( ([TIME[2014-10-18 18:10:29 +09:00]] 版))
<https://tools.ietf.org/html/draft-willis-sip-cookies-00>

* 関連

[49] [[Cookie]] は [[JavaScript]] による [[Webブラウザ]]上の[[ストレージ]]としても使われてきましたが、
特に[[鯖]]にデータを送信する必要がない (ほとんどの) 場合のために新たに
[[Web Storage]] 仕様が作られ、ほとんどの [[Webブラウザ]]で利用可能となっています。

[97] 「[[クッキー]]」は、 [[HTTP]] 以外でも[[2層]]から[[7層]]まで色々な[[プロトコル]]で[[状態]]や[[セッション]]などに関わる[[プロトコル要素]]の呼称として用いられています。


[100] [CITE@en[WebDriver]]
( ([TIME[2014-11-07 11:11:08 +09:00]] 版))
<https://dvcs.w3.org/hg/webdriver/raw-file/default/webdriver-spec.html#h3_cookie>

[101] [CITE@en[''''''[''''''webappsec'''''']'''''' Rechartering: additional cookie data]]
( ([[Brad Hill]] 著, [TIME[2014-11-10 09:26:44 +09:00]] 版))
<http://lists.w3.org/Archives/Public/public-webappsec/2014Nov/0132.html>

[104] [CITE@ja[Googleがcookie有効期間を2年に短縮 | スラッシュドット・ジャパン IT]]
([TIME[2015-03-12 22:44:08 +09:00]] 版)
<http://it.slashdot.jp/story/07/07/17/1345208/>

[105] [CITE[CookieMonster - The Chromium Projects]]
([TIME[2015-03-21 10:14:33 +09:00]] 版)
<https://www.chromium.org/developers/design-documents/network-stack/cookiemonster>

[106] [CITE[Part2 - browsersec - Browser Security Handbook, part 2 - Browser Security Handbook - Google Project Hosting]]
([TIME[2015-03-31 16:30:35 +09:00]] 版)
<https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_cookies>

[107] 多くのブラウザーは [CODE(URI)@en[[[file:]]]] [[文書]]において
[CODE(JS)@en[[[document.cookie]]]] に対応しています [SRC[>>106]]。

[FIG(quote)[
[FIGCAPTION[
[110] [CITE[IRC logs: freenode / #whatwg / 20150831]]
([TIME[2015-09-01 12:07:40 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20150831#l-258>
]FIGCAPTION]

> 
> # '''['''15:34''']''' <mkwst> annevk: I know that ~11% of Chrome users that opted into metrics clear cookies on a weekly basis.
> # '''['''15:34''']''' <mkwst> annevk: as I noted on the other thread, I don't have any more detail than that. Nor do I really know how I'd get it...
> # '''['''15:35''']''' <MikeSmith> ~11% is a relatively huge number
> # '''['''15:36''']''' <mkwst> 11.8% last week.
> # '''['''15:37''']''' <mkwst> I wonder if I can get historical information on this... my recollection is that it's been pretty constant. If users have learned anything at all about privacy on the web, it's "Clear cookies! All the time! Twice, even, just to be  sure!"
> # '''['''15:38''']''' <mkwst> All I have is a raw counter. It's interesting, though: the counter is 5x the number of users. So this set of users is really clearing cookies _often_.
> # '''['''15:40''']''' <mkwst> MikeSmith: Dunno. I just want to ship the pieces that solve the problems I care about. I feel like doing that in an iterative fashion is reasonable. It's just not clear to me what the MVP actually is.
> # '''['''15:41''']''' <annevk> mkwst: I guess the other number that's interesting is how many have stored passwords and how often those are cleared (if ever)
> # '''['''15:42''']''' <mkwst> 3.04% of users check the "passwords" box when clearing browsing data.
> # '''['''15:42''']''' <mkwst> or, more accurately, 3.04% of users cleared passwords in the last week.

]FIG]


[111] [CITE@en[mikewest/internetdrafts]]
([TIME[2015-10-13 19:04:51 +09:00]] 版)
<https://github.com/mikewest/internetdrafts>

[112] [CITE@en[draft-west-cookie-prefixes-04 - Cookie Prefixes]]
([TIME[2015-11-02 09:29:22 +09:00]] 版)
<https://tools.ietf.org/html/draft-west-cookie-prefixes-04>

[113] [CITE@en[Potential changes to cookies in Chrome.]]
([[Mike West]] 著, [TIME[2015-11-27 19:32:51 +09:00]] 版)
<https://lists.w3.org/Archives/Public/public-webappsec/2015Nov/0069.html>

[114] [CITE@en[Propose an FPWD of cookies. · w3c/webappsec-csp@c0afb8a]]
([TIME[2015-12-01 11:45:05 +09:00]] 版)
<https://github.com/w3c/webappsec-csp/commit/c0afb8af651712d2cef3c608603f6f88b3b93de1>

[115] [CITE@en[Revising RFC6265 ("Cookies")]]
([[Mark Nottingham]] 著, [TIME[2015-11-13 09:16:17 +09:00]] 版)
<https://lists.w3.org/Archives/Public/ietf-http-wg/2015OctDec/0165.html>

[116] [CITE@en[Clarify the hooks into RFC6265 · whatwg/fetch@5a324a8]]
([TIME[2016-03-01 11:27:45 +09:00]] 版)
<https://github.com/whatwg/fetch/commit/5a324a891c42d42de09a01e03c3a063b9a4f882b>

[121] [CITE@en[bsittler/async-cookies-api: Sketching an asynchronous JavaScript cookies API for documents and workers]]
( ([TIME[2016-05-06 11:01:22 +09:00]]))
<https://github.com/bsittler/async-cookies-api>

[122] [CITE@en[Specify how document.cookie diverges from '''['''COOKIES''']''' RFC · Issue #804 · whatwg/html]]
( ([TIME[2016-06-10 21:14:20 +09:00]]))
<https://github.com/whatwg/html/issues/804>

[123] [CITE@en[Cookies specification compatibility in modern browsers]]
( ([TIME[2016-03-10 23:17:03 +09:00]]))
<https://inikulin.github.io/cookie-compat/>

[124] [CITE@en[inikulin/cookie-compat: Browsers RFC 6265 compatibility research - http://inikulin.github.io/cookie-compat.]]
( ([TIME[2016-06-10 21:15:13 +09:00]]))
<https://github.com/inikulin/cookie-compat>

[125] [CITE@en[Re: Defining First and Third Party Cookies]]
( ([[Mike West]]著, [TIME[2016-02-22 21:45:13 +09:00]]))
<https://lists.w3.org/Archives/Public/ietf-http-wg/2016JanMar/0249.html>

[126] [CITE@en[Clear entire eTLD+1 for cookies.]]
([[@annevk]]著, [TIME[2016-07-20 19:57:38 +09:00]])
<https://github.com/w3c/webappsec-clear-site-data/commit/9b510bfa74223535670aba8a00177af883b28a8a>

[127] [CITE@en[Issues · httpwg/http-extensions]]
([TIME[2016-12-26 22:39:26 +09:00]])
<https://github.com/httpwg/http-extensions/issues?q=is%3Aopen+is%3Aissue+label%3A6265bis>

[128] [CITE@en[Cookie Prefixes]]
([TIME[2016-12-24 19:55:06 +09:00]])
<http://httpwg.org/http-extensions/draft-ietf-httpbis-cookie-prefixes.html>

[7] [CITE[Cookie等の利用に関するガイドライン策定のお知らせ|ニコニコインフォ]]
([TIME[2017-04-03 00:23:12 +09:00]])
<http://blog.nicovideo.jp/niconews/17542.html?ref=top_info>

[8] [CITE@ja[Cookie等の利用に関するガイドライン]]
([TIME[2017-04-03 00:23:22 +09:00]])
<http://site.nicovideo.jp/cookies/>

[129] [CITE@en[サンドボックスドメイン上に書き込まれたcookieを使ったWeb訪問履歴漏洩やfingerprintingについて · GitHub]]
( ([TIME[2017-04-23 17:00:34 +09:00]]))
<https://gist.github.com/mala/7e1ff3bb042515f8f09435e1318ab14a>


[136] [CITE[RFC6265bis Tests]]
([TIME[2017-07-20 23:48:41 +09:00]])
<http://rfc6265.biz/tests/>

[137] [CITE@en[mikewest/rfc6265-biz]]
([TIME[2017-07-20 23:48:45 +09:00]])
<https://github.com/mikewest/rfc6265-biz>

[138] [CITE@en[Specify how document.cookie diverges from '''['''COOKIES''']''' RFC · Issue #804 · whatwg/html]]
([TIME[2017-10-02 21:35:46 +09:00]])
<https://github.com/whatwg/html/issues/804>

[139] [CITE@en[inikulin/cookie-compat: Browsers RFC 6265 compatibility research - http://inikulin.github.io/cookie-compat.]]
([TIME[2017-10-02 21:39:59 +09:00]])
<https://github.com/inikulin/cookie-compat>

[140] [CITE@en[Cookies specification compatibility in modern browsers]]
([TIME[2016-06-22 21:15:20 +09:00]])
<https://inikulin.github.io/cookie-compat/>

[141] [CITE@en[Meltdown/Spectre  |  Web  |  Google Developers]]
([TIME[2018-02-08 00:05:08 +09:00]])
<https://developers.google.com/web/updates/2018/02/meltdown-spectre>

[142] [CITE@en[Define hosts' public suffix and registrable domain. by mikewest · Pull Request #391 · whatwg/url]]
([TIME[2018-06-13 22:13:53 +09:00]])
<https://github.com/whatwg/url/pull/391>

[143] [CITE@en[Content Security Policy: Cookie Controls]]
([TIME[2018-08-22 18:02:33 +09:00]])
<https://w3c.github.io/webappsec-csp/cookies/>

[144] [CITE@en[Cookie controls?]]
([[Yoav Weiss]]著, [TIME[2018-08-16 17:41:42 +09:00]])
<https://lists.w3.org/Archives/Public/public-webappsec/2018Aug/0015.html>

[145] [CITE@en[mikewest/http-state-tokens: Incrementally better HTTP state management.]]
([TIME[2018-08-22 19:06:57 +09:00]])
<https://github.com/mikewest/http-state-tokens>

[146] [CITE@en[Re: Cookie controls?]]
([[Mike West]]著, [TIME[2018-08-17 16:35:48 +09:00]])
<https://lists.w3.org/Archives/Public/public-webappsec/2018Aug/0020.html>

[147] [CITE@en[Asynchronous Access to HTTP Cookies  |  Web  |  Google Developers]]
([TIME[2018-09-08 04:36:20 +09:00]])
<https://developers.google.com/web/updates/2018/09/asynchronous-access-to-http-cookies>

[81] [CITE@en[Incrementally Better Cookies vs RFC6265bis · Issue #1241 · httpwg/http-extensions]]
([TIME[2020-10-01T03:02:57.000Z]])
<https://github.com/httpwg/http-extensions/issues/1241>

[154] [CITE@en[draft-west-cookie-incrementalism-01 - Incrementally Better Cookies]]
([TIME[2020-09-27T07:56:57.000Z]], [TIME[2020-10-01T03:03:25.628Z]])
<https://tools.ietf.org/html/draft-west-cookie-incrementalism-01>

[155] [CITE@en[Revising RFC6265 ("Cookies")]]
([[Mark Nottingham]], [TIME[2015-11-13 09:16:17 +09:00]], [TIME[2020-01-17T17:14:47.000Z]], [TIME[2020-10-01T03:10:40.158Z]])
<https://lists.w3.org/Archives/Public/ietf-http-wg/2015OctDec/0165.html>

[156] [CITE@en[draft-ietf-httpbis-cookie-prefixes-00 - Cookie Prefixes]]
([TIME[2020-09-20T08:36:16.000Z]], [TIME[2020-10-01T03:14:18.699Z]])
<https://tools.ietf.org/html/draft-ietf-httpbis-cookie-prefixes-00>

[157] [CITE@en[draft-west-cookie-incrementalism-01 - Incrementally Better Cookies]]
([TIME[2020-09-27T07:56:57.000Z]], [TIME[2020-10-01T03:18:36.209Z]])
<https://tools.ietf.org/html/draft-west-cookie-incrementalism-01>

[158] [CITE@en[mikewest/cookies-over-http-bad: Archived proposal from 2018. Perhaps the approach in mikewest/scheming-cookies will be more successful!]]
([TIME[2020-10-01T03:21:45.000Z]])
<https://github.com/mikewest/cookies-over-http-bad>

[159] [CITE@en[CookieError on invalid cookie names · Issue #2683 · aio-libs/aiohttp]]
([TIME[2020-10-01T03:34:51.000Z]])
<https://github.com/aio-libs/aiohttp/issues/2683>

[160] [CITE@en['''['''rfc6265bis''']''' Cookie parser - UTF-8 chars · Issue #1073 · httpwg/http-extensions]]
([TIME[2020-10-01T03:38:53.000Z]])
<https://github.com/httpwg/http-extensions/issues/1073>

[161] [CITE@en[Specify how document.cookie diverges from '''['''COOKIES''']''' RFC · Issue #804 · whatwg/html]]
([TIME[2020-10-01T03:41:45.000Z]])
<https://github.com/whatwg/html/issues/804>

[162] [CITE@en[Cookies specification compatibility in modern browsers]]
([TIME[2016-06-22T12:15:20.000Z]], [TIME[2020-10-01T03:50:12.044Z]])
<http://inikulin.github.io/cookie-compat/>

[163] [CITE@en[inikulin/cookie-compat: Browsers RFC 6265 compatibility research - http://inikulin.github.io/cookie-compat.]]
([TIME[2020-10-01T03:50:37.000Z]])
<https://github.com/inikulin/cookie-compat>

[166] [CITE@en[Allow cookies without key or value · Issue #159 · httpwg/http-extensions]]
([TIME[2020-10-01T03:53:42.000Z]])
<https://github.com/httpwg/http-extensions/issues/159>

[182] [CITE@en-US[Firefox 86 Introduces Total Cookie Protection - Mozilla Security Blog]]
([TIME[2021-02-27T05:58:39.000Z]])
<https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/>


[183] 
[[Chrome]] の[[クッキー]]の表示と削除の機能なくなっちゃった? 個数と全削除しかないんだが...
[TIME[2023-08-24T05:05:42.100Z]]

[184] 
[[開発者ツール]]にはあった。まあある種妥当な判断ではあるのかな。

[185] 
>>183 >>184 それ以来サブドメインページ表示中に親ドメイン(のクッキーの存在)が表示がされたりされなかったりおかしくなってるような。
前の表示なら親ドメインのクッキーがちゃんと出てきていたのに、
今は何か謎の (実際のクッキー送出と違う) 判定条件で表示したりしなかったりしてるっぽい?






[186] 技術がわからなそうな広告屋や法務が作ったような[[プライバシーポリシー]]なら仕方がないとして、 [[Web技術]]を仕事で使ってそうな技術者が「Cookie とは小さなテキストファイルで」みたいなよくある不正確な説明を書いているのは一体なんなんでしょうね。技術レベルが極端に低いのでしょうか。それとも[[技術者倫理]]をどこかで落としてきたのでしょうか。 [TIME[2025-09-02T03:52:23.724Z]]

[187] 純粋な疑問として「小さなテキストファイル」という変な解説がなされるのはなんなんでしょうね。おそらく発端は [[IE]] がそうやって保存していたからなのでしょうし、それが広告屋等によって広められたのは技術を知らない人の[[コピペ]]というだけのことなのでそれ以上の理由はないのでしょうけれども、 [[Web技術]]を知っている人ならそんな実態がないことはわかっているはずだし (わかってないとまともに [[Webアプリケーション]]を作れるとは思えませんし)、「小さなテキストファイル」と説明することで理解を促進することはまずなく、何の合理性もない説明方法でしょう。 [TIME[2025-09-02T03:54:41.582Z]]

[188] 
教育的配慮からの「わかりやすい簡略化」と、単なる「誤った比喩」には決定的な差があります。Cookie の場合は後者で、

- ユーザー視点で観察できない(ファイルとして存在しない)
- 開発者視点でも使い道がない(ファイルI/Oで触れるわけではない)
- 概念理解を妨げる(「テキストファイル=文書」的な連想に引きずられる)

ので、「助けにならない簡略化」になってしまっているんですよね。

[189] 
むしろ逆効果で、非技術者が「じゃあ自分のPCのどこに「小さなテキストファイル」ってあるの?」とか、「削除するにはファイルを消せばいいの?」と誤解する余地を広げてしまう。技術の初学者が「クッキーとしてファイルを送信したい」と混乱してしまう。これでは説明として無意味どころか害悪です。
