Cookie的详细介绍

话归正题。当微软还没有推出IE8的时候,老实说,我就不喜欢这个浏览器。这不是来自于我对微软的偏见(这个公司确实非常伟大),而是来自于我对Cookie这个美好事物的无比忠诚。但是,IE8的出现,让我们的美好蒙上一层厚厚的阴影。不过,当一切还没有变得非常严重之前,让我们先来了解一下Cookie是什么,它对于我们的意义,以及我们为什么需要捍卫它。

什么是Cookie以及Cookie的作用

Cookie是在你浏览网页的时候,网站服务器放在客户端(Client End,就是你的电脑)里面的一个小小的TXT文件。这个文件里面存储了一些与你访问的这个网站有关的一些东西,当你下一次访问这个网站的时候,Cookie就会记住你上次访问时候的一些状态或者设置,让服务器针对性的发送页面的相关内容。Cookie里面包含的信息并没有一个标准的格式,各个网站服务器的规范都可能不同,但一般会包括:所访问网站的域名(domain name),访问开始的时间,访问者的IP地址等客户端信息,访问者关于这个网站的一些设置等等。比如,你设置的诸如Google一个页面要显示几条搜索结果之类的信息,即使你不登录你的Google账号,你下次访问时也能够保存下来,这就是上次你访问时把相关信息放入了Cookie的效果。如果是在线购物网站,还记录了一些你的购物车,储物架以及你的账户名等信息。另外有些网站则会通过Cookie把你的登录账号和密码记下来,这样你下次打开浏览器就会自动登录。

当然,如果你在系统文件夹中打开Cookie的TXT文件,你并不会看到这些信息而只能看到一串乱七八糟的字符,因为为了安全起见,Cookie的内容一般都是加密的,只有对应的服务器才能读懂。另外,由于Cookie只是TXT文件,而不是程序,更不是病毒,不能自己运行,不会对操作系统和其他任何计算机程序产生影响,也不会通过互联网传播,因此它对互联网安全实际上不构成威胁。

对于网站分析而言,Cookie的作用在于帮助嵌入代码类的网站分析工具记录网站的访问(Visit)和访问者(Unique Visitor)的信息,没有Cookie就无法实现相关监测。而通过服务器端Log来进行网站分析的软件则不需要Cookie也能实现相关分析,因此Cookie只对嵌入代码类工具有效。那些你耳熟能详的工具——Google Analytics、Omniture、HBX、WebTrends(嵌入代码版)等等,都需要在网站访问者的电脑上放置Cookie才能实现监测。

Cookie的数量和时效

Cookie的数量是指一个网站可以在客户端放置Cookie的个数。一个网站并不是只能放置一个Cookie在客户端,而是根据需要,会放置多个不同的Cookie。对网站分析工具而言,帮助监测Visit的Cookie和帮助监测Unique Visitor的Cookie就不能是一个,而应该分开设置。对每一个网站(域)而言,不同浏览器能够支持的最多Cookie数是不同的。IE7和FireFox3.0支持每个网站50个Cookie,而Opera则支持30个。无论是30还是50,基本都够用了。

Cookie的时效(expiration)是另一个非常重要的概念,也是Cookie的重要属性之一。任何Cookie都是有时效的,有些Cookie的有效时间很短,有些Cookie则在浏览器关闭的同时自动失效,而有些则是号称”永久Cookie”。其实,Cookie的时效是在服务器端人为设置的,可以设置为1秒,也可以设置10年,也可以设置在浏览器关闭的同时失效,完全根据不同情况的需要。永久Cookie就是指那些时效很长的Cookie,但不是真的永久。

Cookie的时效性对于网站分析监测意义重大。Visit的监测依赖于Cookie的时效。例如,Google Analytics对Visit的Cookie设置了两个时效,一个是30分钟,另一个是浏览器关闭时。这就意味着,如果Visit Cookie在30分钟内没有更新,这个Cookie就失效了——这就是为什么我们说Visit这个度量衡量的是间隔不超过30分钟的页面浏览过程,如果两次页面浏览之间的时间超过了30分钟,那么Visit计数会被增加1。另外,如果你打开一个网站,看了一会儿就关掉浏览器,那么当你再次打开浏览器重新开这个网站的时候,即使两次浏览没有超过30分钟,也会被计算为一个新的Visit,原因就是Visit Cookie浏览器关闭时效结束的设置起的作用。

Unique Visitor也依赖于Cookie的时效。如果这个Cookie的时间设定为2天失效,那么你今明两天都访问同一个网站,Unique Visitor只会记录为从0增加到1;而如果你第三天又来,那么Unique Visitor就会再增加计数一次,共计2次。除了Visit和Unique Visitor外,Return visitor、Frequency等等度量当然也依赖于Cookie的时效。

1st party cookie和3rd party cookie

时间: 2024-08-30 12:26:18

Cookie的详细介绍的相关文章

js cookie使用详细介绍

cookie是基于http协议,cookie就是限制性的存储字符串的,我们可以通过document.cookie来存储字符串. 而最近手头上有个项目上涉及到有关于cookie的操作,即登录与退出, 对于这个需求,逻辑很简单 1.登录前的cookie检查 2.登录取的后端数据,再存到cookie 3.退出登录,清楚cookie. 这里面除了逻辑之外,涉及到了cookie取值和设值的问题. 这里我用到了jquery的第三方插件$.cookie来取值和设置. 根据之上的逻辑与$.cookie来取值和设

php中cookie用法详细介绍

  写入cookie  代码如下 复制代码 setcookie(name, value, expire, path, domain); function w_cookie($n, $c, $e = 0,$isdes=1)  {    if($isdes==1){$c=endes($c,deskey);}       $exp = time() + 3600 * 24 * 30;       if($e == 0)      {           setcookie($n, $c, $exp,"

分享十款最出色的PHP安全开发库中文详细介绍

  1. PHP入侵检测系统 开发库中文详细介绍-芭提雅6996详细介绍"> PHP IDS(即PHP-入侵检测系统)是一套易于使用.结构良好.速度出色且专门面向PHP类Web应用程序的先进安全层.这套入侵检测系统既不提供任何缓和及杀毒机制,也不会对恶意输入内容进行过滤,其作用单纯为识别出攻击者们针对站点进行的恶意活动.并以大家需要的方式作出及时提醒.凭借着一整套经过实践检验及相当严格的过滤规则,该检测系统会针对任何攻击活动给出一个影响评级数值,从而帮助用户更轻松地了解应如何应对当前出现的

UTF-8编码问题BOM详细介绍_应用技巧

今天在写php代码的时候,出现一个特郁闷的问题那就是两个一模一样的文件,在IE下显示有一个文件却出显了一个空白行,如地址所示http://www.kuomart.com/blog/my_ex/bom_utf8.htm以上出现空白行的页面是用php的require('t.htm')导入模板输出的,而我的php文件和htm文件都是用的记事本写的,然后保存为utf-8编码的,这样之后就出现了用nodepad保存utf8文件自动添加bom到文件的开始,起先自己测试用nodepad,dw,edplus打开

small标签详细介绍

html教程,small标签详细介绍. 类似于<em></em>之类的短语元素,既可以改进文档结构,同时也保留了预期的视觉样式.但<small></small>在平时应用中不是很常见,第一眼的影响是淘宝UED是不是在这个小问题上疏忽了? 关于<small></small>,网上搜索下来的结果也很零碎,有的说不建议使用,也有的在废弃标签里没有提到它的名字.好在<精通HTML 语义.标准和样式>一书中对此作了详细的解释. &l

微博1分钱变5000元活动网址内容规则详细介绍

  新浪微博开启了"1分钱变5000元现金"活动,用于推广微博支付.在活动期间内(4月25日-5月5日),只要用户通过微博支付成功支付1分钱,变会100%获得现金礼包,金额从1元到5000元不等.下面小编为大家详细介绍微博1分钱变5000元活动详细内容. 活动时间:2014年4月25日-5月5日 参与方式:使用微博支付成功支付一分钱,即可100%获得微博支付的现金奖励,金额最低1元,最高5000元 无论是否绑定过支付宝都可以参与该活动,未绑定的需要绑定.获得的奖金将在7个工作日内打到对

PHP Streams(流)详细介绍及使用

  这篇文章主要介绍了PHP Streams(流)详细介绍及使用,PHP Streams是内置核心操作,可能一般的开发者很少用,它用于统一文件.网络.数据压缩等类文件操作方式,并为这些类文件操作提供一组通用的函数接口,需要的朋友可以参考下 PHP Streams是内置核心操作,可能一般的开发者很少用,它用于统一文件.网络.数据压缩等类文件操作方式,并为这些类文件操作提供一组通用的函数接口. 一个stream就是一个具有流式行为的资源对象,每个stream对象都有一个包装类.Stream 可以通过

详细介绍ASP.NETWeb相关服务

经过长时间学习ASP.NETWeb,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西.学习ASP.NETWeb时,你可能会遇到相关问题,这里将介绍ASP.NETWeb问题的解决方法. 该结构分三个层次:表示层.业务层.数据层.数据层:代表物理数据库.业务层:负责数据层与表示层之间的数据传输.表示层:应用程序的客户端,它通过业务层来访问数据库. 表示层所操作的是驻留在内存中的本地数据,当需要更新数据库数据时,要通过业务层提供的更新方法实现.这样可以大大提高应用程序的性能,而且

十款最出色的PHP安全开发库中文详细介绍(1)

1. PHP入侵检测系统 开发库中文详细介绍(1)-webapp详细开发介绍"> PHP IDS(即PHP-入侵检测系统)是一套易于使用.结构良好.速度出色且专门面向PHP类Web应用程序的先进安全层.这套入侵检测系统既不提供任何缓和及杀毒机制,也不会对恶意输入内容进行过滤,其作用单纯为识别出攻击者们针对站点进行的恶意活动.并以大家需要的方式作出及时提醒.凭借着一整套经过实践检验及相当严格的过滤规则,该检测系统会针对任何攻击活动给出一个影响评级数值,从而帮助用户更轻松地了解应如何应对当前出