巧克力曲奇






3.92/5 (9投票s)
2002年3月30日
3分钟阅读

75596
关于Cookie的初学者指南。
引言
每个有抱负的企业的目标,无论是当地的杂货店还是大公司,都是了解和识别其客户。 每当您走进一家当地商店时,售货员就会向您跳来并向您问候。 他认识您,他知道您的喜好,他会向您指出最适合您的销售产品。
您的商业网站也是如此 - 您应该能够当场识别您的客户,并吸引他们对他们最感兴趣的内容。 但唉! 您的主页是近视的。 或者至少您是这么认为的! 在本文中,您将学习烘焙的精通 - 巧克力饼干的配方。
那么,那些Cookie是什么呢?
Cookie是小的文本文件,从您的服务器发送到客户端的硬盘驱动器。 Cookie用于存储有关客户的信息,因此下次他来时,我们将能够识别他及其兴趣。 假设您正在运营一个大型门户网站,该网站涵盖了从政治到忍者神龟的各种问题。 您从客户端的计算机中检索Cookie,并根据客户端的需求自定义您的网站,因此他将在主页上看到与Splinter的最新采访! 明白了吗? 好。 现在让我们开始吧!
编写Cookie
那么,我们实际上如何编写Cookie? 简单! 我们使用 Response
对象,如下所示: Response.Cookies("Cookie") = Value
例如
Response.Cookies("UserName") = "James Bond"
现在,假设我们要存储多个字段:简单 - 我们使用索引Cookie。 就是这样完成的:Response.Cookies("Cookie")("Key") = Value
Response.Cookies("User_Info")("fname") = "James"
Response.Cookies("User_Info")("lname") = "Bond"
Response.Cookies("User_Info")("id") = "007"
如果Cookie不存在,则会自动创建。 如果它已经存在,则此代码将覆盖它。
警告: 编写Cookie的代码应出现在任何HTML标签之前。 这就是编写Cookie的全部内容,但是我们如何读取它呢?
读取Cookie
正如您可能已经猜到的,读取Cookie与编写Cookie非常相似。 唯一的区别是 - 我们使用 Request
对象。 对于简单的Cookie:var = Request.Cookies("Cookie")
UserName = Request.Cookies("UserName")
当然,索引Cookie也没有什么不同:var = Request.Cookies("Cookie")("Key")
例如
fname = Request.Cookies("User_Info")("fname")
lname = Request.Cookies("User_Info")("lname")
id = Request.Cookies("User_Info")("id")
Response.Write fname & lname & " logged in."
' The output would be "James Bond logged in"
继续前进!
有效期
为了防止客户端保留过时的Cookie,每个Cookie都有一个到期日期。 当此日期超过时,Cookie将被删除。 如果我们不为Cookie设置到期日期,则当客户端离开我们的网站时,Cookie将被删除。 这就是我们设置到期日期的方式:Response.Cookies("Cookie").Expires = date
Response.Cookies("User_Info").Expires = "01/01/2003"
现在,此代码不是很有用,因为我们必须一直更新它。 这是一个更有效的例子
Response.Cookies("User_Info").Expires = Now() + 100
// it sets the expiration date 100 days from the current date
有时我们想删除现有的Cookie。 没有直接的方法可以做到这一点,但是我们可以通过将到期日期设置为旧日期来绕过它。 看看
Response.Cookies("User_Info").Expires = "01/01/1980"
好的,我们快到了!
Cookie路径
您应该知道的另一件事是Cookie路径。 每当您编写cookie时,它会保存生成它的站点的路径。 当用户再次访问该站点时,Cookie会自动发送到位于该路径中的服务器。 您可以更改Cookie的默认路径以指向另一个路径。 像这样:Response.Cookies("User_Info").Path = NewPath
假设您运行两个应用程序,并且您希望两者都与相同的Cookie对应。 只需编写一个Cookie并将其指向您的另一个应用程序即可
Response.Cookies("User_Info").Path = "http://MyServer/MySecondApp/"
好吧,这就是食谱!
摘要
在本文中,我们介绍了Cookie的基本用法。 但是,我只是给了您工具,食谱 - 由您来善用它! 您应该知道并非所有浏览器都支持Cookie,并且某些浏览器可以在其选项中禁用它。 因此,不要过分依赖它们,尝试找到一种解决方法或检查用户的浏览器是否支持它们 - 如果不支持,请通知用户! 请记住,如果有50位厨师使用相同的食谱,您仍然会获得50种不同的口味,因此请找到自己实现这一目标的方法。