Cookie:
Cookie是什么:
Cookie有时也用其复数形式Cookies,指某些网站为了辨别用户身份,进行session跟踪二存储的用户本地终端上的数据(通常经过加密),定义域RFC2109和2965中的都已废弃,最新取代的规范式RFC6265(也叫做浏览器缓存),简单理解就是登陆时会有一个记住密码,Cookie就是记住密码用的。
Cookie是在HTTP协议下,服务器或脚本维护客户工作站上信息的一种方式,Cookie是web浏览器保存在用户浏览器上的小文本文件
Cookie应用场景:
服务器可以利用Cookie包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态,Cookies最典型的应用是判定注册用户是否已经登陆网站,用户可能会得到提示,是否在写一次进入此网站时保留用户信息以便简化登陆手续,这些都是Cooikes的功能。另一个重要场景是“购物车”之类处理,用户可能会在一段事件内在同一家网站不同页面选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。
Cookie生存周期:
Cookie在生成时就会被指定一个Expire值,这就是Cookie的生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生存周期设置为“0”或负值,这样在关闭浏览器时,就马上清除Cookie,不会记录用户信息,更加安全。
反对Cookies理由:
1、识别不精确;
一台计算机中有多台浏览器,每个浏览器都会在各自独立的空间存放cookie,因为cookie中不但可以确认用户,还能包含计算机和浏览器的信息,所以一个用户用不同的浏览器登录或者用不同的计算机登录,都会得到不同的cookie信息,另一方面,对于在同一台计算机上使用同一浏览器的多用户群,cookie不会区分他们的身份,除非他们使用不同的用户名登录。
2、隐私,广告和安全
Cookies在某种程度上说已经严重危及用户的隐私和安全。其中的一种方法是:一些公司的高层人员为了某种目的(譬如市场调研)而访问了从未去过的网站(通过查到的),而这些网站包含了一种叫做网页臭虫的图片,该图片透明,且只有一个像素大小(以便隐藏),它们的作用是将所有访问过此页面的计算机写入cookie。而后,电子商务网站将读取这些cookie信息,并寻找写入这些cookie的网站,随即发送包含了针对这个网站的相关产品广告的给这些高级人员。
因为更具有针对性,使得这套系统行之有效,收到邮件的客户或多或少表现出对产品的兴趣。这些站点一旦写入cookie并使其运作,就可以从电子商务网站那里获得报酬,以维系网站的生存。
Session:
1、存在服务器的一种用来存放用户数据的类HashTable结构。
2、浏览器第一次发送请求时,服务器自动生成了一HashTable和一Session ID来唯一标识这个HashTable,并将其通过响应发送到浏览器。浏览器第二次发送请求会将前一次服务器响应中的Session ID放在请求中一并发送到服务器上,服务器从请求中提取出Session ID,并和保存的所有Session ID进行对比,找到这个用户对应的HashTable。
3、一般这个值会有个时间限制,超时后毁掉这个值,默认30分钟。
当用户在应用程序的 Web页间跳转时,存储在 Session 对象中的变量不会丢失而是在整个用户会话中一直存在下去。
4、Session的实现方式和Cookie有一定关系。建立一个连接就生成一个session id,打开几个页面就好几个了,这里就用到了Cookie,把session id存在Cookie中,每次访问的时候将Session id带过去就可以识别了.