Может ли один домен иметь несколько файлов cookie?
Может ли один домен генерировать несколько файлов cookie в веб-браузере посетителей?
Если да, то когда пользователь просматривает веб-сайт, какие файлы cookie будут доставлены на сервер? И почему веб-сайт генерирует несколько файлов cookie?
Я проверил настройки Google Cookie браузера Google Chrome, обнаружил, что существует несколько файлов cookie nytimes.com.
Если сервер хочет хранить несколько пар ключ/значение в файлах cookie, они не могут храниться в одних и тех же файлах?
![multiple cookies]()
![cookies-1]()
![cookies-2]()
Ответы
Ответ 1
Да:)
Я бы предположил, что файлы cookie были созданы отдельными компонентами веб-сайта, которые были созданы отдельными командами разработчиков. Мы, люди, должны понять, что это часто бывает, когда нам нужно сделать некоторые разработки, но у нас нет времени ждать сотрудничества или для того, чтобы другая команда разработала для нас необходимый уровень.
Из Википедии:
Соответствующее количество максимальных сохраненных файлов cookie для домена для основных браузеров:
- Firefox 3.0: 50
- Opera 9: 30
- Internet Explorer 7: 50
Ответ 2
Может ли один домен генерировать несколько файлов cookie в веб-браузере посетителей?
Да. Точный предел зависит от браузера, Internet Explorer использовал для приема 20, но увеличил это до 50.
Если это так, когда пользователь просматривает веб-сайт, какие файлы cookie будут доставлены на сервер?
Все из них
И почему веб-сайт должен генерировать несколько файлов cookie?
Так что вам не нужно сериализовать все данные (которые могут быть из несвязанных частей системы) в одном файле cookie.
Ответ 3
Файл cookie - это всего лишь одна пара ключей/значений с дополнительными параметрами домена, пути, срока действия и доступа.
Причины разделения данных на отдельные файлы cookie включают:
- Легче поддерживать код - разные биты сайта, которые должны хранить состояние, не должны взаимодействовать друг с другом, чтобы упаковать все это в один файл cookie.
- Простое управление пользователями - конечный пользователь (вы) может более легко видеть, что хранится, и может выборочно удалять определенные куки.
- Различные способы использования - например, cookie, содержащий ваш ключ сеанса, может быть помечен
secure; httpOnly;
, в то время как файлы cookie, которые содержат настройки пользовательского интерфейса, могут быть доступны через javascript.
- Уменьшить размер запроса - если некоторые файлы cookie используются только для определенных страниц, можно использовать свойство
path
, чтобы они не отправлялись без необходимости на страницы, на которых они не нужны.
Ответ 4
Сервер может указать любое количество файлов cookie, и каждый файл cookie указан в его собственном заголовке Set-Cookie
.
Каждый заголовок Set-Cookie
содержит по крайней мере пару CookieName=CookieValue
и может содержать другие пары key=value
в дополнение к атрибуту secure
или httpOnly
. Эти дополнительные пары и атрибуты являются метаданными, относящимися к фактическому файлу cookie и не могут использоваться для установки дополнительных файлов cookie.
Когда клиент отправляет файлы cookie на сервер, он объединяет их все в один заголовок Cookie
. Это возможно, потому что клиент никогда не отправляет метаданные, только имя и значение cookie.
Рассмотрим этот обмен HTTP:
GET / HTTP/1.1
Host: www.example.com
HTTP/1.1 302 Found
Location: http://www.example.com/index.html
Set-Cookie: UserID=12345; Expires=Wed, 09 Jun 2021 10:18:14 GMT; domain=.example.com;path=/index.html; httpOnly`
Set-Cookie: SessionID=6478; domain=.example.com;path=/index.html; httpOnly
Set-Cookie: foo=bar
GET /index.html HTTP/1.1
Host: www.example.com
Cookie: UserID=12345; SessionID=6478; foo=bar
Ответ 5
Когда вы пишете программу, вы используете только одну переменную? Нет, правильно?
Тот же принцип здесь - куки-это только пары ключ/значение, которые может использовать ваша программа (сервер/клиент).
Ответ 6
Да, один домен может генерировать много файлов cookie. Максимальное число изменяется браузером.
Ответ 7
-Каждый сайт может создавать любое количество куки файлов, которые он хочет. (Но это может зависеть от браузера и браузера)
-Когда пользователь посещает веб-сайт, будут отправлены все активные куки.
- Имеет смысл иметь несколько файлов cookie для хранения отдельных данных. В крайнем сравнении сравнить файлы cookie с классами;)