В спецификации HTTP какая строка разделяет файлы cookie?
-
27-10-2019 - |
Вопрос
Точка с запятой ;
, строка Cookie:
или другая строка?
Решение
Проверка файлов cookie в HTTP-запросе
Заголовок Cookie:
имеет следующий синтаксис:
Следовательно, отдельные файлы cookie разделяются точкой с запятой.
Установка файлов cookie в ответе HTTP
С другой стороны, при установке файла cookie в ответе на каждый заголовок Set-Cookie:
приходится один файл cookie:
Чтобы установить несколько файлов cookie, заголовок Set-Cookie
повторяется в ответе HTTP.
Примечания:
- Посмотрите руководство с примерами здесь и RFC 6265 Механизм управления состоянием HTTP для нормативной справки с полной информацией о синтаксисе.
- Устаревший теперь RFC 2965 определил альтернативную пару заголовков,
Cookie2
иSet-Cookie2
, от которых отказались . - Устаревшие версии механизма управления состоянием HTTP ( RFC 2109 и RFC 2965 ) предоставили способ объединить несколько заголовков
Set-Cookie
(илиSet-Cookie2
) в один. Однако это сворачивание не рекомендуется последней спецификацией RFC 6265 .
Другие советы
Ответ - знак общего кода кода запятой.
В разделе 4.2.2 RFC 2109 есть спецификация заголовка ,
со следующей инструкцией Неформально, заголовок ответа Set-Cookie включает токен Set-Cookie:, за которым следует список из одного или нескольких файлов cookie, разделенных запятыми. (Формально значение Set-Cookie
в приведенном выше нотация определена в RFC 733 в разделе A. ОБОЗНАЧЕНИЯ ОБОЗНАЧЕНИЯ , пункт 5
Конструкция «#» определяется аналогично «*» следующим образом:
родовое слово, обозначающий как минимум элементы #
и не более <l>
, каждый из которых разделен
одна или несколько запятых (",").
Да, RFC 2109 был заменен RFC 2965, который, в свою очередь, был отменен RFC 6265 . .
Нет, это ничего не меняет в этом контексте, поскольку
- большинство существующих HTTP-серверов и клиентов поддерживают RFC 2109
- RFC 6265 не запрещает свертывание генерирующего кодового кода.