Сколько куки можно установить в одном ответе? - PullRequest
0 голосов
/ 03 июля 2018

Существует ли максимальное количество файлов cookie, которые вы можете установить в одном HTTP-ответе? Если да, сколько?


Поскольку я пытаюсь создать 2 куки в одном ответе, по какой-то причине создается только один. Я использую код ниже.

Cookie cookie = new Cookie("wNote", "1530571761964");
cookie.setMaxAge(2592000);
cookie.setPath("/myWebsite/");
response.addCookie(cookie);

другой файл cookie - это JSESSIONID, который создается сервером автоматически. В заголовках ответа под Set-Cookie я вижу только JSESSIONID.

  • Apache Tomcat 8.0.27
  • Google Chrome 67.0

1 Ответ

0 голосов
/ 03 июля 2018

Если вы используете Tomcat, только один Cookie в HttpServletResponse.addCookie (javax.servlet.http.Cookie) Но этот метод может вызываться несколько раз:

Сервлет отправляет куки в браузер, используя метод HttpServletResponse.addCookie(javax.servlet.http.Cookie), который добавляет поля в заголовки HTTP-ответа для отправки куки в браузер, по одному .

Этот метод может вызываться несколько раз для установки более одного файла cookie.

Ожидается, что браузер будет поддерживать 20 файлов cookie для каждого веб-сервера, всего 300 файлов cookie, и может ограничивать размер файлов cookie до 4 КБ каждый.
Cookies Doc


Хорошо, давайте углубимся в эти куки. Я проверяю RFC 2109

Практические реализации пользовательских агентов имеют ограничения по количеству и
размер файлов cookie, которые они могут хранить. В общем, файлы cookie пользовательских агентов поддержка не должна иметь фиксированных ограничений. Они должны стремиться хранить как
как можно больше часто используемых файлов cookie. Кроме того, общего пользования
пользовательские агенты должны обеспечивать каждую из следующих минимальных возможностей индивидуально, хотя не обязательно одновременно:

  • не менее 300 печенек
  • не менее 4096 байт на файл cookie (измеряется размером символы, которые составляют cookie нетерминальным в синтаксисе описание заголовка Set-Cookie)
  • не менее 20 файлов cookie на уникальный хост или доменное имя
...