我似乎想不出如何创建持久化与非持久化cookie。它们之间有什么不同,比如,在发回的HTTP报头方面?
发布于 2010-10-06 14:21:00
Cookie有一个隐式或显式设置的过期日期,该日期控制它们的持续时间(取决于实际执行的用户代理)。cookie可能仅在会话期间(或更短的时间段)持续存在。
如果cookie是有效的,它将与HTTP请求一起传递到它所来自的域。只有设置cookie的域才能读取cookie (尽管有一些方法可以利用这一点,例如跨站点脚本)。
cookie设置器可以指定删除日期,在这种情况下,cookie将在该日期被删除。
如果cookie设置器未指定日期,则一旦用户退出浏览器,就会删除cookie。
因此,指定日期是使cookie在会话中存活的一种方法。因此,具有过期日期的cookies称为。
作为一个示例应用程序,购物站点可以使用持久cookie来存储用户放置在购物篮中的商品。(实际上,cookie可能指的是存储在购物站点的数据库中的条目,而不是您的计算机上的条目。)这样,如果用户在没有进行购买的情况下退出浏览器并在稍后返回,他们仍然会在购物篮中找到相同的商品,因此他们不必再次寻找这些商品。如果没有为这些cookies指定过期日期,它们将在浏览器关闭时过期,并且有关篮子内容的信息将会丢失。
发布于 2011-08-02 18:28:42
ASP.NET中有两种类型的cookies
持久cookies:
Cookie存储在您的计算机硬盘上。它们保留在您的硬盘上,web服务器可以访问它们,直到它们被删除或过期。
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);
}非持久性cookies:
Cookie仅在web浏览器运行时保存。只有在您关闭浏览器后,web服务器才能使用它们。它们不会保存在磁盘上。
public void SetNonPersistentCookies(string name, string value)
{
HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
Response.Cookies.Add(cookie);
}发布于 2011-06-07 17:49:07
会话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);https://stackoverflow.com/questions/3869821
复制相似问题