Разрешены ли в HTTP-запросе несколько заголовков Cookie?



обычно браузер группирует куки в один Cookie заголовок, например:



Cookie: a=1; b=2


позволяет ли стандарт отправлять их в виде отдельных заголовков, таких как:



Cookie: a=1
Cookie: b=2


или они всегда должны быть на одной линии?

566   2  

2 ответов:

случайно наткнулся на эту страницу при поиске деталей по теме. Цитата из HTTP State Management Mechanism,RFC 6265 должен сделать вещи яснее:

5.4. Заголовок

когда агент пользователя создает HTTP-запрос, он должен Не присоединяйте более одного поля заголовка файла Cookie.

похоже на использование нескольких Cookie заголовки и, фактически запрещен!

теперь это разрешено в HTTP / 2 (RFC 7540), которая указывает:

    8.1.2.5.  Compressing the Cookie Header Field

   The Cookie header field [COOKIE] uses a semi-colon (";") to delimit
   cookie-pairs (or "crumbs").  This header field doesn't follow the
   list construction rules in HTTP (see [RFC7230], Section 3.2.2), which
   prevents cookie-pairs from being separated into different name-value
   pairs.  This can significantly reduce compression efficiency as
   individual cookie-pairs are updated.

   To allow for better compression efficiency, the Cookie header field
   MAY be split into separate header fields, each with one or more
   cookie-pairs.  If there are multiple Cookie header fields after
   decompression, these MUST be concatenated into a single octet string
   using the two-octet delimiter of 0x3B, 0x20 (the ASCII string "; ")
   before being passed into a non-HTTP/2 context, such as an HTTP/1.1
   connection, or a generic HTTP server application.

   Therefore, the following two lists of Cookie header fields are
   semantically equivalent.

     cookie: a=b; c=d; e=f

     cookie: a=b
     cookie: c=d
     cookie: e=f

Comments

    Ничего не найдено.