Можно ли установить более одного файла cookie с помощью одного набора файлов cookie? - PullRequest
9 голосов
/ 21 мая 2010

Одна директива HTTP Set-Cookie может содержать только один cookie, верно? Я имею в виду, одна name=value пара?

1 Ответ

19 голосов
/ 21 мая 2010

Исходная спецификация cookie Netscape (см. в этой кэшированной версии ) ничего не говорит о перечислении нескольких объявлений cookie.

Но с Set-Cookie , как определено в RFC 2109 , разрешает разделенный запятыми список объявления cookie:

Неформально заголовок ответа Set-Cookie содержит маркер Set-Cookie:, за которым следует разделенный запятыми список из одного или нескольких файлов cookie. Каждый файл cookie начинается с пары NAME = VALUE, за которой следует ноль или более пар атрибутов-значений, разделенных точкой с запятой.

То же самое относится к Set-Cookie2 , как определено в RFC 2965 :

Неформально заголовок ответа Set-Cookie2 содержит маркер Set-Cookie2:, за которым следует разделенный запятыми список из одного или нескольких файлов cookie. Каждый файл cookie начинается с пары NAME = VALUE, за которой следует ноль или более пар атрибутов-значений, разделенных точкой с запятой.

Но поскольку большинство пользовательских агентов по-прежнему следуют исходной спецификации Netscape, я бы предпочел просто объявить каждый файл cookie со своим собственным полем заголовка Set-Cookie .

Это также то, что отражает последняя версия RFC 6265 :

Исходным серверам НЕ СЛЕДУЕТ складывать несколько полей заголовка Set-Cookie в одно поле заголовка. Обычный механизм сворачивания заголовков HTTP поля (т. е. как определено в [RFC2616]) могут изменить семантику поле заголовка Set-Cookie, потому что используется символ% x2C (",") от Set-Cookie таким образом, что конфликтует с таким сворачиванием.

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