Как создать постоянный и непостоянный файл cookie? - программирование
Подтвердить что ты не робот

Как создать постоянный и непостоянный файл cookie?

Я не могу понять, как создать постоянный и непостоянный файл cookie. Как они отличаются, скажем, в HTTP-заголовках, которые отправляются обратно?

4b9b3361

Ответ 1

Cookies имеют дату истечения срока действия неявно или явно устанавливают, какие элементы управления сохраняются в течение длительного времени (при условии, что пользовательский агент фактически их применяет). Файл cookie может сохраняться только в течение всего сеанса (или даже более короткого периода).

Если файл cookie действителен, он будет передан вместе с HTTP-запросом в домен, из которого он произошел. Только домен, который устанавливает cookie, может читать cookie (хотя есть способы его использовать, например, межсайтовый скриптинг).

  • Если вы хотите, чтобы файл cookie истекал в определенное время, установите истечение срока действия дата на нем, используя язык клиента или сервера на ваш выбор.

  • Если вы хотите, чтобы файл cookie истекал при завершении сеанса, не устанавливайте срок годности.

Из RFC (акцент мой):

Установитель 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);