Set-Cookie 時にドメインを指定する/しないで挙動が変わる

FirefoxCookie の挙動でハマったのでメモしておきます。Set-Cookie 時にドメインを指定する/しないで、保存される Cookie が異なるようです。

ドメインを指定しない場合

レスポンスヘッダの Set-Cookie で、ドメインを省略した場合は、保存された Cookieドメインは、そのサイトのドメイン (FQDN) となる。

ドメインを指定した場合

レスポンスヘッダの Set-Cookie で、ドメインを指定した場合は、保存された Cookieドメインは、指定したドメインの先頭に "." (ドット) が付く。

ドットが付いている Cookie と付いていない Cookie ではアクセスレベルの意味が変わるので注意。ドットが付いている Cookieサブドメインにアクセスした際にも送信される。この例だと foo.lab.kaihatsubu.com など。

また、プログラムからアクセスする際にもドメイン指定が正しくないと読み書きができない。