Почему чувствительность файлов cookie зависит от регистра?

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

Таким образом, cookie, хранящийся для

http://SomeWebSite.com

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

http://SomeWebSite.com

cookie, сохраненный для

http://somewebsite.com/SomePath

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

http://somewebsite.com/SomePath

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

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

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

Ответы

Ответ 1

Большинство веб-серверов предоставляют идиот-защищенные механизмы. Два общих, о которых я знаю, добавили косые черты в конец имен каталогов (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

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

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

Update

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

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

Ответ 3

Всегда обрабатывайте все как чувствительные к регистру.