Я пытаюсь установить cookie сеанса, ограниченные определенным путем (скажем, /foo
), когда пользователь входит в систему. Сложность состоит в том, что страница входа в систему находится на /
, но запрос немедленно перенаправляет на /foo/something
. Примерно так:
Запрос:
POST / HTTP/1.1
username=foo&password=bar
Ответ:
HTTP/1.0 302 Found
Location: http://example.com/foo/home
Set-Cookie: session=whatever; path=/foo
Однако соответствующие биты RFC, которые я смог найти ( rfc2109 и rfc2965 ), говорят следующее:
Для предотвращения возможных нарушений безопасности или конфиденциальности, пользовательский агент
отклоняет файл cookie (не сохраняет его информацию), если какой-либо из
верно следующее:
- Значение атрибута Path не является префиксом запроса.
URI.
...
Процесс установки cookie, описанный выше, кажется работает хорошо, но, насколько я могу судить, RFC говорят, что это не должно.
Я бы хотел использовать это в производственной системе, но я действительно не хочу этого делать, если позже столкнусь с ужасными проблемами несовместимости браузера.
Я неправильно читаю RFC?
Заранее спасибо!