[11] [[Cookie]] 設定時の [DFN[[CODE(HTTP)@en[[[Path]]]] [[属性]]]]は、[[Cookie]] が適用される [[URL]] の [[path]] 部分を[[前方一致]]で指定します。 * 仕様書 - [12] [[Netscape Cookie]]: [CITE[Client Side State - HTTP Cookies]] * 処理モデル [13] [[Cookie]] が[[妥当]]であるか判断する際、 [CODE(HTTP)@en[[[Domain]]]] が[[一致]]すると判断されると次に [CODE(HTTP)@en[[[Path]]]] の比較が行われます。 [[要求]]しようとしている [[URL]] の [[path]] の部分の前方が [CODE(HTTP)@en[[[Path]]]] [[属性]]の値と一致していれば、 [CODE(HTTP)@en[[[Path]]]] [[属性]]は一致したものとみなされます。 [SRC[>>12]] [14] この[[一致]]を調べるに当たって [[path]] は不透明なものとして扱われます。つまり、 [CODE(URI)[[[/]]]] による階層の区切りは考慮されません。 [CODE(HTTP)@en[[[Path]]]] [[属性]]の値 [CODE(URI)[[[/foo]]]] は、 [CODE(URI)@en[/foo/bar.html]] だけではなく [CODE(URI)[/foobar]] にも一致します [SRC[>>12]]。 ** 既定値 [15] [CODE(HTTP)@en[[[Path]]]] が省略された場合、[[Cookie]] が含まれる[[応答]]が帰ってきた[[要求]]の [[URL]] の [[path]] と同じとみなされます。 [SRC[>>12]] * 保安性に関して [9] [[HTML5]] の [CODE(JS)@en[[[document.cookie]]]] [[属性]]に関する節の注記 ([[参考]]) には、次のような記述があります。 - [CODE(JS)@en[[[document.cookie]]]] [[属性]]は[[フレーム]]を超えてアクセス可能である - [[クッキー]]の[[経路]]制限は[[クッキー]]が[[Webサイト]]のどの部分に送られるかの管理を助ける道具に過ぎない - [[クッキー]]の[[経路]]制限は[[保安性]]のための機能ではない ;; * メモ [10] [CITE@ja[Javascriptのdocument.cookieのpath]] ([TIME[2009-02-01 19:38:32 +09:00]] 版) >document.cookieで四苦八苦しておりまして、Safari、Firefox、Chromeではちゃんと動くのにIE6とIE7では動かないという事態に直面した際の話です。 > 端的に申しますとdocument.cookieのpathはIEに関してはフォルダ単位でしか動きません。 そのほかのモダンブラウザではちゃんと動きます。ほとほとIEには困ったものです。 > なので、location.pathnameを直接pathに通すとcookieが書き込まれないという事態に陥る