Допустим, у меня есть веб-сайт с доменом: www.example.com.
Если я установлю cookie с путем '/', cookie будет доступен через все страницы в домене, например:
- www.example.com/page1.html
- www.example.com/subfolder1/page1.html
- www.example.com/subfolder1/moresubfolder1/page1.html и т. д.
Что, если мы установим для файла cookie путь '/ subfolder1', будет ли файл cookie доступен для любой страницы или подпапки в папке? Например:
- www.example.com/subfolder1/moresubfolder/page1.html
Так что, если нет, я думаю, у меня нет другого выбора, кроме как использовать путь '/' для этих файлов cookie, верно?
Ответ 2 · рейтинг 13 · thefunfreak
если мы установим cookie на путь /subfolder1, будут доступны следующие страницы в примере:
www.example.com/subfolder1/page1.html
www.example.com/subfolder1/moresubfolder1/page1.html
и т. д.
Однако страница www.example.com/page1.html не будет доступна, поскольку она не принадлежит разрешенному пути.
Ответ 3 · рейтинг 13 · Michael
Чтобы устранить некоторую двусмысленность, повторно используя часть этого ответа:
Путь запроса соответствует заданному пути cookie, если выполняется хотя бы одно из следующих условий:
- Путь к файлу cookie и путь запроса идентичны.
- Путь к файлу cookie является префиксом пути запроса, а последний символ пути к файлу cookie -% x2F ("/").
- Путь к файлу cookie является префиксом пути запроса, а первым символом пути запроса, который не включен в путь cookie-
, является символ% x2F ("/").
Существует небольшая (но потенциально важная) разница между установкой cookie на путь /subfolder1 и путь /subfolder1/.
Если вы полагаетесь на первое, ваш путь запроса должен начинаться с символа "% x2F (" / ")" (косая черта), чтобы гарантировать желаемое поведение. Для примера взгляните на связанный ответ.
Установка пути cookie просто / позволяет избежать каких-либо крайних случаев, но, как вы говорите, cookie будет доступен для всего домена.