使用浏览器Cookie

Cookie是有Netscape浏览器1.0版引入的。Netscape 的开发人员发明了Cookie。

 

1. Cookie 是如何工作的?

Web服务器创建一个Cookie时,一个附加的HTTP头部在浏览器显示页面时被发送到浏览器。 HTTP头部类似如下形式:

 Set-Cookie:message=Hello

Set-Cookie头部使得浏览器创建一个名为message的Cookie ,其值为Hello.

在浏览器创建Cookie后,它从相同的应用程序请求页面时,都将像下面这样发送这个HTTP头部:

Cookie:message=Hello

Cookie头部包含所有的Web服务器设置的Cookie。每次浏览器向Web服务器请求页面时,这些Cookie都会发送回服务器。

注意:一个Cookie就是一段文本。 Cookie只能用于存储字符串值。

 

我们可以创建两种类型的Cookie: 会话Cookie和持久化Cookie。

会话Cookie只存在于内存中。当用户关闭浏览器时,会话Cookie就永久消失了。

持久化Cookie可以存在不同的位置,所以Cookie是与浏览器有关的。使用IE浏览器请求页面所创建的Cookie,不存在Firefox或Opera浏览器中。

注意:IE和Firefox 浏览器都以明文形式存储Cookie。我们不应该将身份证或信用卡号码之类的敏感信息存于Cookie中。

 

2. Cookie的安全性限制。

Cookie会引发安全方面的问题。一个持久化Cookie时,会修改访问者电脑上的文件。

Cookie是与域名相关的。一个网站设置的Cookie,另一个网站就访问不到。浏览器创建Cookie时,会记录它所关联的域名,不会将其发送到另一个域名。

 

注解:Web页面中的图片可能来自另一个域名,当浏览器请求一个图片时,Cookie可能被另一个域名设置。诸如DoubleClick这样的显示并跟踪多个网站广告的公司,就利用这样的后门在多个不同的页面间跟踪并显示广告统计信息。这种类型的Cookie就称为第三方Cookie。

 

浏览器存储Cookie的重要限制是大小的限制。一个域名存储的Cookie总大小不能超过 4096字节。这个大小包含所有的Cookie名称和值在内。

 

大多数浏览器都限制可以被设置的Cookie数量,一个域名不超过20个 Cookie(IE浏览器例外)。

超过这个数目,旧的Cookie会自动删除。

注: 可以通过创建多值Cookie来超越该限制。

 

因为Cookie安全性方面的因素,所有的现代浏览器都给用户提供了禁用Cookie的选项。

除非在构建内网应用程序时我们需要控制每个人的浏览器,其他时候都不应该企图依赖Cookie。我们尽量只在存储非关键信息时使用Cookie。

 

尽管如此,Asp.net Framework 的许多部分还都以来Cookie,例如:Web部件、Forms身份验证、Session状态和匿名用户配置文件默认情况江都以来Cookie。如果你使用这些功能中的任何一个,就必须使用Cookie。

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安得权

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值