Почему пути файлов cookie чувствительны к регистру? - PullRequest
16 голосов
/ 30 декабря 2008

Пару недель назад я впервые понял, что при настройке файла cookie http, когда имя домена не учитывает регистр, путь такой.

Так что какое-то время куки хранятся для

http://SomeWebSite.com

можно прочитать с помощью

http://somewebsite.com

печенье, сохраненное для

http://somewebsite.com/SomePath

невозможно прочитать с помощью

http://somewebsite.com/somepath

Это просто не будет найдено.

Поскольку это четко указано в RFC (см. Пункт 3.3.3 здесь ), я сомневаюсь, что это упущение, но как пользователь, я не обучен относиться к URL-адресам как к тексту и веб-серверам с учетом регистра Насколько я могу судить, кажется, в любом случае, не возражаю против этого, и страницы будут работать просто отлично; так что я задаюсь вопросом - в чем причина этого решения?

Кто-нибудь может пролить свет?

Ответы [ 3 ]

16 голосов
/ 30 декабря 2008

Большинство веб-серверов предоставляют механизмы защиты от идиотов. Мне известно о двух распространенных чертах: добавление косой черты в конец имен каталогов (http://example.com/x => http://example.com/x/) и исправление или игнорирование регистра: (http://stackoverflow.com/ABOUT служит так же, как http://stackoverflow.com/about). Однако это не требование веб-сервера, и браузер знает это. http://stackoverflow.com/ABOUT может обслуживаться на совершенно другой странице, чем http://stackoverflow.com/about. Использование переменных GET с синтаксисом? X = y популярно, а значения иногда чувствительны к регистру для серверных сценариев. Эти возможные различия должны корректно обрабатываться браузером (не кэшируйте их как один и тот же документ, используя разные домены cookie, не искажая Javascript и т. Д.)

2 голосов
/ 30 декабря 2008

Если путь чувствителен к регистру или нечувствителен, зависит от веб-сервера. Традиционно для Unix-подобных ОС: в IS чувствительны к регистру, а в MS - нет, и это может быть отражено на веб-серверах, разработанных в указанной ОС.

Ссылка с информацией о различных файловых системах , которая может представлять интерес.

Обновление

На какой ресурс указывает URL-адрес, зависит от веб-сервера. http://some.domain.name/myFavouriteThings.txt может быть текстовым файлом, хранящимся на жестком диске моего сервера, но он также может храниться в базе данных, указывать на сценарий, который выполняется и возвращает несколько случайных строк. Это даже не должен быть текстовый файл, это может быть картинка, видео или что-то еще, что может быть передано в цифровом виде.

Но в этом случае он оценивается как файл на сервере. Поскольку сервер представляет собой unix-подобную систему, файловая система серверов чувствительна к регистру. Поэтому он найдет файл только в том случае, если регистр запроса соответствует файлу, хранящемуся на диске. Если сервер был сохранен на сервере MS, где файловая система нечувствительна к регистру, регистр запроса, вероятно, не имеет значения.

0 голосов
/ 30 декабря 2008

Всегда относитесь ко всему как к регистру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...