Я узнаю о cookie и интересно о поддержке браузера при записи веб-приложений, которые полагаются на cookie для хранения состояния.
Для каждого домена/веб-сайта, сколько cookie может быть отправлено в браузер, и какой размер?
Если несколько cookie отправляются и хранятся, который влияет на производительность?
Во-первых, я предлагаю вам не беспокоиться о Эта проблема. Есть достаточно места для сериализации тонн идентификаторов.
Во-вторых, это не сохраняется Web-сервером
, но по веб-домену - например,
- например, www.google.com
, а не 100 разных физических серверов которые обслуживают домен Google.
В-третьих, если вам нужно беспокоиться, знают, что есть два возможных заголовки cookie . Размеры этих заголовков Cookie определяются пределами программного обеспечения браузера.
Дизайн обсуждения
Что вы не хотите использовать заголовок cookie для отправки подробной информации о сеансе клиента. E.g., не пытайтесь заставить электронную почту клиент вписывает в файл cookie, если вы создаете адрес электронной почты. Вместо этого вы бы отправили клиента Cookie, который представляет его идентификацию + сеанс: вы храните все данные сеансов против этой идентичности. Вы можете хранить десятки идентификаторов (4-16 байтов) на заголовок cookie, и никто не нужно больше, чем сказать 4 из них. Данные файлов cookie (как целое число) имеют тенденцию кодироваться на Base64 , что увеличивает счетчик байта.
Производительность
Ваш браузер отправляет множество заголовков на веб-сервер. Печенье - еще один 100-1000 байтов (в основном ближе к 100). У обоих крайних крайностей требуется только доля времени, чтобы отправить их на веб-сервер - при размещении в контексте конечно. Вы должны помнить, что сеть построена в текстовых протоколах.
PWSTR = указатель на широкую последовательность = WCHAR * в окнах
Windows SDK очень зависает на типах для типов и указателей на типы.
«When in Rome» - используйте любой строковый тип, который требуется для проекта. Типы последовательностей недостаточно важны, чтобы подчеркнуть или попытаться принудить ваш один истинный путь к тому, что используется.
-121--3879793- PWSTR
- идентификатор из < windows.h >
. Она лучше всего используется при работе с функцией Windows API, которая требует такой функции, и лучше всего избегать ее в противном случае.
Не более 50 файлов cookie на домен, максимум 4 КБ на файл cookie (или даже 4 КБ в целом, см. Ответ Иаина ). На IE 6 раньше было 20 куки на домен.
Обычно рекомендуется сохранять состояние на сервере и использовать файлы cookie только для отслеживания сеансов. Они отправляются вместе с каждым запросом, поэтому они образуют ненужные накладные расходы, если цель состоит в поддержании состояния сеанса.
Если вы хотите сохранить состояние на клиенте, и вы можете использовать JavaScript для этого, есть варианты. Используйте непосредственно различные места хранения API или найдите библиотеку оберток, которая абстрагирует детали.
Параметры места хранения на стороне клиента:
Устаревшие параметры места хранения:
Так, обычно для клиентских мест хранения это зависит от сценария использования:
Если вы программируете веб-сайт, это хорошая идея, чтобы не хранить слишком много в файле cookie, потому что это cookie получает сервер каждый раз, когда пользователь запрашивает страницу с вашего сайта. Дальнее лучшее решение - просто хранить уникальный идентификатор в файле cookie и позволить серверу подтянуть необходимую информацию из базы данных или файлового магазина на основе этого уникального идентификатора. К сожалению, что решение приводит к людям беспокоиться о том, что вы отслеживаете о них, так что вы можете иметь «политику cookie», выраженной где-то на вашем сайте, говорите о том, почему вы размещаете печенье на их браузер и что вы делаете и дон треки о них.
Различные брауса имеют разные ограничения на файлы cookie. Вот информация для , то есть . Здесь - это страница, которая перечисляет несколько браузеров.
Cookies не сохраняются на серверной основе, но на основе в основе (сервер может разместить множество доменов или напротив сервера фермы, может служить единый домен).
В целом я бы избегал сохранения больших информации в файлах cookie, так как данные отправляются в браузер и из браузера на любой запрос. Как вы предлагаете в своем вопросе, это может оказать влияние на производительность.
Обычно один магазин небольшого количества данных в файле cookie, в основном используется для идентификации пользователя / сеанса, поэтому можно получить дополнительные данные из базы данных или другого ресурса локального на веб-сервер.