Я не могу понять, как создать постоянный и непостоянный файл cookie. Как они отличаются, скажем, в HTTP-заголовках, которые отправляются обратно?
Как создать постоянный и непостоянный файл cookie?
Ответ 1
Cookies имеют дату истечения срока действия неявно или явно устанавливают, какие элементы управления сохраняются в течение длительного времени (при условии, что пользовательский агент фактически их применяет). Файл cookie может сохраняться только в течение всего сеанса (или даже более короткого периода).
Если файл cookie действителен, он будет передан вместе с HTTP-запросом в домен, из которого он произошел. Только домен, который устанавливает cookie, может читать cookie (хотя есть способы его использовать, например, межсайтовый скриптинг).
-
Если вы хотите, чтобы файл cookie истекал в определенное время, установите истечение срока действия дата на нем, используя язык клиента или сервера на ваш выбор.
-
Если вы хотите, чтобы файл cookie истекал при завершении сеанса, не устанавливайте срок годности.
Установитель cookie может указывать дата удаления, и в этом случае cookie будет удалено в эту дату.
Если установщик cookie не указывает дату, cookie удаляется после пользователь выходит из своего браузера.
В результате указание даты - это способ заставляя печенье выжить сессий. По этой причине файлы cookie с датой истечения срока действия стойкий.
В качестве примера приложения, торговый сайт может использовать постоянный файлы cookie для хранения товаров, которые пользователи имеют помещены в их корзину. (В действительности, cookie может ссылаться на запись в база данных, хранящаяся на торговом сайте, а не на вашем компьютере.) Таким образом, если пользователи покидают свой браузер без совершая покупку и возвращение позже, они все еще находят те же элементы в корзины, поэтому им не нужно искать эти предметы снова. Если эти файлы cookie не были даны срок годности, они истекают, когда браузер закрыты, а информация о содержимое корзины будет потеряно.
Ответ 2
В ASP.NET существует два типа файлов cookie
Постоянный куки:
Файлы cookie хранятся на жестком диске вашего компьютера. Они остаются на вашем жестком диске и могут быть доступны веб-серверами до тех пор, пока они не будут удалены или не будут истекли.
public void SetPersistentCookies(string name, string value)
{
HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
cookie.Expires = Convert.ToDateTime("12/12/2008″);
Response.Cookies.Add(cookie);
}
Непрерывные файлы cookie:
Файлы cookie сохраняются только во время работы вашего веб-браузера. Они могут использоваться веб-сервером только до закрытия браузера. Они не сохраняются на вашем диске.
public void SetNonPersistentCookies(string name, string value)
{
HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
Response.Cookies.Add(cookie);
}
Ответ 3
Сессия cookie
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
Response.Cookies.Add(cookie);
Cookie с определенной меткой времени (.NET DateTime library)
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
cookie.Expires = DateTime.Today.AddMonths(12); //or AddMinutes, or AddHours...
Response.Cookies.Add(cookie);
Постоянное Cookie
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
cookie.Expires = DateTime.MaxValue;
Response.Cookies.Add(cookie);