您好,欢迎来到第一分类目录!
当前位置:第一分类目录 » 站长资讯 » SEO优化 » 文章详细

新手必读:session和cookie的区别

来源:网站目录 浏览:569次 时间:2013-11-01
session其实就是网站分析的访问(visits)度量,表示一个访问的过程

session和cookie是网站浏览中较为常见的两个概念,也是比较难以辨析的两个概念,但它们在点击流及基于用户浏览行为的网站分析中却相当关键基于网上一些文章和资料的参阅,及作者个人的应用体会,对这两个概念做一个简单的阐述和辨析,希望能与大家共同探讨下

session和cookie的最大区别在于session是保存在服务端的内存里面,而cookie保存于浏览器或客户端文件里面;session是基于访问的进程,记录了一个访问的开始到结束,当浏览器或进程关闭之后,session也就“消失”了,而cookie更多地被用于标识用户,它可以是长久的,用于用户跟踪和识别唯一用户(unique visitor)

关于session

session被用于表示一个持续的连接状态,在网站访问中一般指代客户端浏览器的进程从开启到结束的过程

session的常见实现形式是会话cookie(session cookie),即未设置过期时间的cookie,这个cookie的默认生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了实现机制是当用户发起一个请求的时候,服务器会检查该请求中是否包含sessionid,如果未包含,则系统会创造一个名为jsessionid的输出 cookie返回给浏览器(只放入内存,并不存在硬盘中),并将其以hashtable的形式写到服务器的内存里面;当已经包含sessionid是,服务端会检查找到与该session相匹配的信息,如果存在则直接使用该sessionid,若不存在则重新生成新的 session这里需要注意的是session始终是有服务端创建的,并非浏览器自己生成的

但是浏览器的cookie被禁止后session就需要用get方法的url重写的机制或使用post方法提交隐藏表单的形式来实现

这里有一个很关键性的注意点,即session失效时间的设置,这里要分两方面来看:浏览器端和服务端对于浏览器端而言,session与访问进程直接相关,当浏览器被关闭时,session也随之消失;而服务器端的session失效时间一般是人为设置的,目的是能定期地释放内存空间,减小服务器压力,一般的设置为当会话处于非活动状态达20或30分钟时清除该 session,所以浏览器端和服务端的session并非同时消失的,session的中断也并不一定意味着用户一定离开了该网站目前google analytics和omniture都定义当间隔30分钟没有动作时,算作一次访问结束,所以上图中session的最后一步不只是离开,也有可能是静止、休眠或者发呆的状态

还有一点需要注意,就是现在的浏览器好像趋向于多进程的session共享,即通过多个标签或页面打开多个进程访问同一网站时共享一个 session cookie,只有当浏览器被关闭时才会被清除,也就是你有可能在标签中关闭了该网站,但只要浏览器未被关闭并且在服务器端的session未失效前重新开启该网站,那么就还是使用原session进行浏览;而某些浏览器在打开多页面时也可能建立独立的session,ie8、chrome默认都是共享 session的,在ie8中可以通过菜单栏中的文件->新建会话来建立独立session的浏览页面

关于cookie

cookie 是一小段文本信息,伴随着用户请求和页面在web服务器和浏览器之间传递用户每次访问站点时,web应用程序都可以读取cookie包含的信息

session的实现机制里面已经介绍了常见的方法是使用会话cookie(session cookie)的方式,而平常所说的cookie主要指的是另一类cookie——持久cookie(persistent cookies)持久cookie是指存放于客户端硬盘中的 cookie信息(设置了一定的有效期限),当用户访问某网站时,浏览器就会在本地硬盘上查找与该网站相关联的cookie如果该cookie 存在,浏览器就将它与页面请求一起通过http报头信息发送到您的站点,然后在系统会比对cookie中各属性和值是否与存放在服务器端的信息一致,并根据比对结果确定用户为“初访者”或者“老客户”

持久cookie一般会保存用户的用户id,该信息在用户注册或第一次登录的时候由服务器生成包含域名及相关信息的cookie发送并存放到客户端的硬盘文件上,并设置cookie的过期时间,以便于实现用户的自动登录和网站内容自定义

apache自带的mod_usertrack模块可以在用户首次来到当前网站的时候给用户种下一个唯一的cookie(较长时间过期),这个 cookie是用户首次来当前网站的ip地址加上一个随机字符串组成的同时在自定义web日志中在最后增加%{cookie}n字段可以实现 cookie在apache日志中的输出,用于数据统计与用户跟踪

关键词排名优化

推荐站点

  • 波纹补偿器波纹补偿器

    巩义市润达管道专业生产销售波纹补偿器,不锈钢波纹补偿器等产品,波纹补偿器系列产品规格齐全,可按需定制,质量可靠,售后有保障,润达管道补偿器因尺寸精准、性能出色、品质优良,应用越来越为广泛,专业成就未来,品质决定效益,期待与您真诚合作.

    www.rtdbcq.com
  • 健康养生网健康养生网

    365健康网是专业的健康养生网,提供冬季养生,养生之道,养生保健,两性健康,女性健康,男性健康,四季养生,大众养生,健康减肥,美容养生,健康饮食等健康养生知识,走健康之路、行养生之道、享健康生活,就来365健康网!

    www.dhdly.com
  • 伸缩接头伸缩接头

    巩义市润达管道设备制造有限公司专业生产各种传力接头、伸缩接头、伸缩器、防水套管、补偿器等产品,并为您提供优质的产品售后服务,备有大量现货,想了解有关传力接头和伸缩接头价格相关信息咨询:0371-64031789;0371-64030292

    www.rtd1688.com
  • 刚性防水套管刚性防水套管

    巩义市润达管道设备制造有限公司是专业的防水套管厂家,备有大量现货,防水套管价格咨询:0371-64031789;0371-64030292,主要产品有:柔性防水套管,刚性防水套管,02s404防水套管等。

    www.rtdzz.com
  • 橡胶接头橡胶接头

    橡胶接头/橡胶软接头咨询电话13523716887,创伟机械专业生产橡胶接头、橡胶软接头、可曲挠橡胶接头、鸭嘴阀、橡胶鸭嘴阀、橡胶止回阀、橡胶柔性接头、橡胶伸缩节、橡胶补偿器等产品,网址:http://www.hncwgd.com/

    www.hncwgd.com