Почему cookies не истекают после закрытия браузера?

в книгах и учебниках, связанных с веб-программированием, написано, что cookies истекают, когда пользователь закрывает браузер. Поэтому я не могу понять, почему после закрытия браузера (Opera) я вижу список моих куки в окне "Параметры". А как сайты (например Facebook) идентифицируют пользователей после закрытия браузера (сеансовые cookies должны истекать в соответствии с книгами и учебниками)?

8 ответов


Cookies бывают двух разных типов:

  • сеансовые cookies, которые хранятся в памяти и срок действия которых истекает после выхода браузера
  • постоянные куки, которые имеют время жить, сохраняются на диске и отправляются браузером до тех пор, пока их время жить не истечет.

читать http://en.wikipedia.org/wiki/HTTP_cookie


есть два основных вида печенья. Сессии и куки.

сеансовые cookies обычно удаляются при закрытии браузера. Сеансовые куки обычно используются для отслеживания информации для входа, торговых тележек и т. д.

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

более подробную информацию о различных типах файлов cookie можно найти на Википедия - http cookie.


да, файлы cookie сеанса истекают в конце сеанса , но это не единственный тип файлов cookie. Печенье может иметь срок годности набор придав ему более длительный срок службы - файлы.


в некоторых случаях может показаться, что cookies не истекают после закрытия браузера, потому что на самом деле не все экземпляры браузера закрыты.

Существует ряд ситуаций, в которых сеанс браузера может быть по-прежнему работает в фоновом режиме, после того как он был закрыт.

сбой браузера в IE, может оставить скрытый сеанс открытым. В Google Chrome некоторые расширения используют "скрытые страницы", которые сохраняются после закрытия браузера. На Mac, неопытные пользователи могут думать, что они закрыли браузер, нажав X, но они пренебрегают нажать Safari > выйти из Safar или Command-Q.

Это особенно касается использования cookies для входа в систему. Это стало проблемой для нас с Sharepoint 2013 и ADFS. Надеюсь, это поможет!


чтобы завершить ответ:

сайты идентифицируют пользователей после закрытия браузера, используя либо

  • постоянные cookies
  • flash cookies (LSOs)
  • ETags (http 1.1)

У каждого cookie есть время истечения срока действия, если вы не установили определенное значение, оно примет значение по умолчанию .Срок действия файла cookie истекает только по истечении этого срока, независимо от того, закрываете вы браузер или нет . Вы можете убить cookie, установив отрицательное значение как время истечения срока действия

в php у вас есть хороший учебник здесь http://php.net/manual/en/function.setcookie.php


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


Я слышу тебя, брат. Печальная, но холодная реальность ... Закрытие браузера не означает закрытие браузера.

закрытие браузера здесь означает убийство процесса за этим брендом браузера вместе со всеми экземплярами.

чтобы это произошло, должна произойти одна из следующих вещей:

1) Вы либо перезагрузите компьютер

2) или вы или ваши пользователи длительное нажатие на иконку браузера на панели задач, а затем выберите выход или закрыть все Параметры WINDOWS (в зависимости от того, находитесь ли вы на mac или на windows)

даже если нет видимых экземпляров браузера, big boy все еще находится в памяти, и если вы не заставите выйти из этого процесса, ваш cookie все еще находится в сеансе.

Это не должно было быть разработано таким образом. Закрыть все экземпляры должны быть достаточно.