- 標準では、個々のkeyに対する値を取り出すヘルパーが存在しないので、自作する必要がある。
- expires(※1)が未設定の場合、そのkeyはブラウザを閉じると消える(セッションが終了すると消える)。
- expires(※1)を設定すると、そのkeyはブラウザを閉じても有効期限内なら保存されたままになる。
- クッキーを設定する際のexpiresの形式は、GMT文字列形式(UTC文字列形式)でなければならない。ISO 8601に対応していない。
- 現在はtoGMTStringは非推奨で、toUTCStringを使用する。
- pathが未設定の場合、リクエストurlのpath部分が設定される(RFC6265準拠)。巷でいわれる「pathは設定しない」はドメイン内で共有したい場合は成立しない。(※2)
- pathを設定すると、そのpathとサブpathで共有される(メジャーなブラウザは全てRFC6265準拠)。ドメイン全体で共有したい場合は、明示的にpath=/を指定する必要がある。
- domainが未設定の場合、現在のドメインとサブドメインで値は共有されない。
- domainを設定すると、そのドメインとサブドメインで値が共有される。
(※1) expiresの代わりにmax-ageでも同様で、どちらか一方のみを指定する。こちらは生存期間を秒数を指定。
(※2) ./subdir/cookie-sample.htmlに同じファイルが置いてあるため、検証できる。
上位側のcookieはsubdir側でもロードできるが、subdir側のcookieは上位側では見えない。
また、clearCookieの挙動は単に期限切れでcookieを上書きしているだけだが、test1、test2はpathを指定していないため、上位側とsubdir側は互いに相手のcookieを消すことはできない。