Как мне создать постоянный или непостоянный файл cookie?
Я не могу понять, как создать постоянный или непостоянный файл cookie. Чем они отличаются, скажем, в HTTP-заголовках, которые отправляются обратно?
3 ответа
Куки имеют дату истечения срока действия, неявно или явно установленную, которая контролирует, как долго они продлятся (при условии, что пользовательский агент фактически их применяет). Файл cookie может сохраняться только в течение сеанса (или даже более короткого периода).
Если файл cookie действителен, он будет передан вместе с HTTP-запросом в домен, из которого он был создан. Только домен, который устанавливает cookie, может читать cookie (хотя есть способы использовать его, например, межсайтовый скриптинг).
Если вы хотите, чтобы срок действия куки-файла истекал в определенное время, установите для него дату истечения срока действия, используя выбранный вами клиентский или серверный язык.
Если вы хотите, чтобы срок действия файла cookie истек после окончания сеанса, не устанавливайте дату окончания срока действия.
Установщик файлов cookie может указать дату удаления, и в этом случае файл cookie будет удален в эту дату.
Если установщик файлов cookie не указывает дату, файл cookie удаляется, как только пользователь выходит из своего браузера.
В результате, указание даты - это способ выжить файл cookie во время сеансов. По этой причине куки с датой истечения срока действия называются постоянными.
В качестве примера приложения торговый сайт может использовать постоянные файлы cookie для хранения товаров, которые пользователи поместили в свою корзину. (На самом деле файл cookie может относиться к записи в базе данных, хранящейся на сайте покупок, а не на вашем компьютере.) Таким образом, если пользователи выходят из браузера, не совершая покупку и возвращаются позже, они все равно находят те же элементы в корзина, поэтому они не должны искать эти предметы снова. Если бы этим cookie-файлам не была назначена дата истечения срока действия, они истекли бы, когда браузер был закрыт, и информация о содержимом корзины была бы потеряна.
Там два типа куки в ASP.NET
Постоянные куки:
Файлы 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 сохраняются только во время работы вашего веб-браузера. Они могут использоваться веб-сервером только до тех пор, пока вы не закроете браузер. Они не сохраняются на вашем диске.
public void SetNonPersistentCookies(string name, string value)
{
HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
Response.Cookies.Add(cookie);
}
Сессионный cookie
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
Response.Cookies.Add(cookie);
Файл cookie с определенной отметкой времени ( библиотека.NET DateTime)
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);
У постоянных файлов cookie есть срок действия, выданный им веб-сервером. По сути, этот тип cookie сохраняется на вашем компьютере, поэтому, когда вы его закрываете и запускаете снова, cookie все еще там. По истечении срока годности он уничтожается владельцем.
Ссылка: https://www.cookiepro.com/knowledge/what-is-a-persistent-cookie/
Если файл cookie не содержит даты истечения срока действия, он считается сеансовым / непостоянным файлом cookie.
Итак, в основном постоянные файлы cookie поставляются с expires
атрибут например
expires="Wdy, DD-Mon-YYYY HH:MM:SS GMT"