黑马程序员技术交流社区

标题: cookie和session的区别? [打印本页]

作者: -淡然一笑    时间: 2014-1-15 13:10
标题: cookie和session的区别?
本帖最后由 -淡然一笑 于 2014-1-16 14:57 编辑

大家谈谈 cookie和session的区别?
作者: 沈可    时间: 2014-1-15 14:07
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。   2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗     考虑到安全应当使用session。   3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能     考虑到减轻服务器性能方面,应当使用COOKIE。
作者: 沈可    时间: 2014-1-15 14:17
cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。
session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。
1、Cookie中只能保管ASCII字符串,Session中能够存取任何类型的数据,包括而不限于String、Integer、List;
2、Cookie存储在客户端阅读器中,对客户端是可见的,客户端的一些程序可能会窥探、复制以至修正Cookie中的内容。而Session存储在服务器上,对客户端是透明的,不存在敏感信息泄露的风险。
3、只需关闭了阅读器该Session就会失效,因而Session不能完成信息永世有效的效果。
4、Session是保管在服务器端的,每个用户都会产生一个Session。而Cookie保管在客户端,不占用服务器资源。
5、Cookie是需要客户端浏览器支持的。假如客户端禁用了Cookie,或者不支持Cookie,则会话跟踪会失效。假如客户端浏览器不支持Cookie,需要运用Session以及URL地址重写。需要注意的是一切的用到Session程序的URL都要进行URL地址重写,否则Session会话跟踪还会失效。
6、Cookie支持跨域名访问,例如将domain属性设置为“.biaodianfu.com”,则以“.biaodianfu.com”为后缀的一切域名均能够访问该Cookie。跨域名Cookie如今被普遍用在网络中,例如Google、Baidu、Sina等。而Session则不会支持跨域名访问。Session仅在他所在的域名内有效。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2