Может кто-нибудь указать мне исходный код Firefox, где разбирается заголовок Set-Cookie? Я хочу понять точное поведение.
Читайте дальше, если хотите знать почему?
Для различных ограничений в моем приложении мне нужно передать несколько файлов cookie в один заголовок Set-Cookie. RFC-2109 четко упоминает,
"Заголовок ответа Set-Cookie содержит маркер Set-Cookie:, за которым следует разделенный запятыми список из одного или нескольких файлов cookie. Каждый файл cookie начинается с пары NAME = VALUE, за которой следует ноль или более разделенных точкой с запятой пары атрибут-значение. "
Так что я должен быть в состоянии передать следующий заголовок Set-Cookie
Set-Cookie: name1 = value1; attr11 = attrval11; attr12 = attrval12, имя2 = значение2; attr21 = attrval21; attr22 = attrval22;
Это не работает. Тем не менее, следующее работает
Set-Cookie: имя1 = значение1, имя2 = значение2; attr1 = attrval1; attr2 = attrval2;
И я хочу дать разные атрибуты для разных файлов cookie.
[Update]
Реальные примеры :
Пример # 1-
Set-Cookie: cookie1 = значение1; Path = /, Cookie2 = значение2; Path = /
В этом случае Firefox анализирует и получает первый файл cookie (имя которого «cookie1» и значение «value1») из него (второй полностью игнорируется)
Пример # 2-
Set-Cookie: cookie1 = значение1, cookie2 = значение2; Path = /
В этом случае Firefox считает, что существует один файл cookie, имя которого «cookie1» и значение «value1, cookie2 = value2». Опять же, это не то, что было задумано.