Как работают куки?
Я хочу знать все возможные варианты использования файлов cookie. Они хорошие или плохие? Как они работают?
Некоторые лучшие практики, которые я собрал до сих пор -
Использовать бездокументарные домены для компонентов
tag: cookie
Когда браузер делает запрос на статическое изображение и отправляет файлы cookie вместе с запросом, сервер не использует эти куки. Таким образом, они создают сетевой трафик без уважительной причины. Вы должны убедиться, что статические компоненты запрашиваются с запросами без файлов cookie. Создайте субдомен и разместите там все свои статические компоненты.
Если ваш домен является www.example.org, вы можете разместить свои статические компоненты на static.example.org. Однако, если вы уже установили файлы cookie на сайте example.org верхнего уровня, а не на www.example.org, тогда все запросы к static.example.org будут содержать эти файлы cookie. В этом случае вы можете купить совершенно новый домен, разместить там свои статические компоненты и сохранить этот файл без cookie. Yahoo! использует yimg.com, YouTube использует ytimg.com, Amazon использует images-amazon.com и т.д.
Еще одно преимущество размещения статических компонентов в домене без файлов cookie заключается в том, что некоторые прокси-серверы могут отказаться кэшировать компоненты, запрашиваемые с помощью куки файлов. В соответствующей заметке, если вам интересно, следует ли использовать example.org или www.example.org для вашей домашней страницы, рассмотрите влияние печенья. Опущение www не оставляет вам выбора, кроме как писать файлы cookie на *.example.org, поэтому по соображениям производительности лучше всего использовать субдомен www и записывать файлы cookie в этот поддомен.
Пределы реализации
Практические реализации пользовательских агентов имеют ограничения на количество и размер файлов cookie, которые они могут хранить. В общем, поддержка файлов cookie пользовательских агентов не должна иметь фиксированных ограничений. Они должны стремиться хранить как можно больше часто используемых куков. Кроме того, универсальные пользовательские агенты ДОЛЖНЫ предоставлять каждый из следующих минимальных возможностей индивидуально, хотя и не обязательно одновременно:
* at least 300 cookies
* at least 4096 bytes per cookie (as measured by the characters that comprise the cookie non-terminal in the syntax description of the Set-Cookie2 header, and as received in the Set-Cookie2 header)
* at least 20 cookies per unique host or domain name
Пользовательские агенты, созданные для определенных целей или для устройств с ограниченной пропускной способностью, ДОЛЖНЫ предоставить не менее 20 файлов cookie 4096 байт, чтобы гарантировать, что пользователь может взаимодействовать с сервером происхождения на основе сеанса.
Информация в заголовке ответа Set-Cookie2 ДОЛЖНА быть сохранена целиком. Если по какой-то причине не хватает места для хранения файла cookie, он ДОЛЖЕН быть отброшен, а не усечен. Приложения должны использовать как можно меньше и как можно меньше файлов cookie, и они должны корректно справляться с потерей файла cookie.
Ответы
Ответ 1
Хороший или плохой нож:)
Упрощенное объяснение: веб-сервер отправляет немного текста клиенту.
У этого есть дополнительное происхождение (кто его отправил) и "продолжительность жизни" (как долго он будет сохраняться у клиента).
В зависимости от ваших настроек (безопасность браузера) ваш браузер сохраняет этот "текстовый файл".
Когда вы снова свяжетесь с сервером (сайтом), ваш браузер отправит файл cookie на сервер.
Простой пример: я разрешаю вам выбирать размер шрифта на моем сайте (маленький средний размер).
Когда вы выбираете свой размер, я (сервер) отправляю вам файл cookie.
В следующий раз, когда вы заходите, я спрашиваю, есть ли этот файл cookie - если это так, я устанавливаю размер шрифта в зависимости от содержимого файла cookie.
Существует также защита файлов cookie - cookie отправляется только эмитенту для примера.
Манфреда
Ответ 2
Для спецификации см. RFC2965 - Механизм управления HTTP-протоколом.
Ответ 3
Что такое Cookies?
Файлы cookie представляют собой небольшой фрагмент безвредных данных или информации, которые веб-сайты могут хранить на компьютерах, с которых он был обращен.
Они хороши или плохи?
Нет Cookies не совсем плохие, и они безвредны. Файлы cookie - это всего лишь часть данных. У вас есть номер друга, написанный в текстовом файле, это вредно?
Как работают куки?
Куки, написанные одним веб-сайтом, не могут быть доступны другим веб-сайтом. В большинстве случаев использование файлов cookie для идентификации возвращающихся пользователей на одном сайте. Всякий раз, когда вы входите в систему на веб-сайт, данные вашего сеанса отслеживаются в файлах cookie в браузере для этого веб-сайта. Если вы сказали сайту "Запомнить вас в следующий раз", то веб-сайт может идентифицировать вас из файлов cookie, написанных в вашем браузере в предыдущих или более ранних сеансах. Также важно отметить, что файлы cookie зависят от браузера и не имеют жизни в нескольких браузерах на одном компьютере.
Ex: Если вы заходите на свою учетную запись Yahoo из Firefox и проверяете "Запомнить меня", а затем, если вы откроете Internet Explorer или какой-нибудь другой браузер, отличный от Firefox и goto Yahoo, он не будет идентифицировать вы и заставите вас снова войти в систему. Это по своей природе, поскольку файлы cookie хранятся на веб-сайте в браузере на вашем компьютере.
Ответ 4
Хорошее объяснение доступно по адресу: http://en.wikipedia.org/wiki/HTTP_cookie
В основном это часть протокола HTTP, в котором хранится небольшой токен в вашем браузере, чтобы идентифицировать вас, когда вы вернетесь на веб-сайт, на котором хранится маркер.
Они используются для широкого круга вещей, например, для входа в веб-сайт для отслеживания привычек просмотра.
Ответ 5
Файлы cookie используются для хранения небольших фрагментов информации в браузере. Эти файлы cookie могут быть прочитаны/записаны веб-сервером, но файлы cookie также могут быть изменены пользователем в браузере, что может быть проблемой безопасности.