Точка с запятой ;, строка Cookie: или какая-либо другая строка?
В спецификации HTTP, какая строка разделяет куки?
Ответ 1
Проверка файлов cookie в HTTP-запросе
Заголовок Cookie: имеет следующий синтаксис:
Cookie: <Name> = <Value> { ; <Name> = <Value> }
Следовательно, отдельные куки файлы разделяются точкой с запятой.
Настройка файлов cookie в ответе HTTP
С другой стороны, при настройке файла cookie в ответе есть один файл cookie для заголовка Set-Cookie::
Set-Cookie: <Name> = <Value> [ ; expires = <Date>] [ ; path = <Path> ] [ ; domain = <Domain> ] // etc…
Чтобы установить несколько файлов cookie, заголовок Set-Cookie повторяется в ответе HTTP.
Примечания:
- Посмотрите здесь для учебника с примерами и RFC 6265 HTTP State Management Mechanism для нормативной ссылки, отображающей полную информацию о синтаксисе.
- Устаревший RFC 2965 определил альтернативную пару заголовков
Cookie2иSet-Cookie2, которые были оставлены. - Устаревшие версии механизма управления государственными протоколами HTTP (RFC 2109 и RFC 2965) предоставил возможность свернуть несколько заголовков
Set-Cookie(илиSet-Cookie2) в один. Однако эта сворачивание не рекомендуется с помощью последней спецификации RFC 6265.
Ответ 2
Ответ - это знак запятой ,.
В разделе 4.2.2 RFC 2109 есть эта спецификация заголовка Set-Cookie
set-cookie = "Set-Cookie:" cookies
cookies = 1#cookie
со следующим утверждением. Неформально заголовок ответа Set-Cookie содержит маркер Set-Cookie:, за которым следует разделенный запятыми список одного или нескольких файлов cookie. (Формальное значение # в приведенных выше обозначениях определено в RFC 733 в разделе A. НОТАЦИОННЫЕ КОНВЕНЦИИ, пункт 5
Конструкция "#" определяется, аналогично "*", следующим образом:
<l>#<m>elementуказывающий не менее
<l>и не более<m>элементов, каждый из которых разделен одна или несколько запятых ( "," ).
Да, RFC 2109 устарел RFC 2965, который, в свою очередь, был устаревшим RFC 6265.
Нет, это ничего не меняет в этом контексте, поскольку
- большинство существующих HTTP-серверов и клиентов поддерживают RFC 2109
- RFC 6265 делает не запретить
Set-Cookieскладывание