cookie和session的区别在于数据存储位置不同,安全级别不同,性能使用级别不同,数据存储大小不同。
1、数据存储位置不同
cookie数据存储在客户端的浏览器,会话数据存储在服务器中。
2、安全程度不同
cookies不太安全。还有人可以分析本地存储的cookie,欺骗cookie。考虑到安全性,应该使用会话。
3、性能使用程度不同
会话将在服务器上保存一段时间。当访问增加时,它将占用服务器的性能。考虑到降低服务器的性能,应该使用cookie。
4.数据存储大小不同。
一个饼干罐不能存储超过4k的数据。许多浏览器限制一个站点最多存储20个cooki
关于两者的一些区别,根据我自己的理解和网络技术人员的分享,答案是这样的。
1.不同的存储位置
cookie的数据信息存储在客户端浏览器中。
会话的数据信息存储在服务器上。
2.不同的存储容量
存储在单个cookie中的数据为lt4kb,一个站点最多可以存储20个cookie。
会话没有上限,但是为了服务器性能,不要使用。;不要在会话中存储太多东西,并设置会话删除机制。
3.不同的存储方法
cookie只能存储ascii字符串,需要通过编码存储为unicode字符或二进制数据。
会话可以存储任何类型的数据,包括但不限于字符串、整数、列表、映射等。
4.不同的隐私政策
cookie对客户端是可见的,别有用心的人可以分析本地存储的cookie,欺骗cookie,所以不安全。
会话存储在服务器上,这对客户端是透明的,不存在泄露敏感信息的风险。
5.有效期不一样。
开发可以通过设置cookie的属性使cookie长期有效。
会话依赖于一个名为jssessionid的cookie,cookiejsessionid的过期时间默认为-1。只要关闭窗口,会话就会无效,因此会话无法达到长期有效的效果。
6、服务器压力不同
cookie保存在客户端,不占用服务器资源。对于有很多并发用户的网站来说,cookie是一个不错的选择。
会话保存在服务器端,每个会话都带有用户将生成一个会话。如果有很多并发用户,会有很多会话,会消耗很多内存。
7、浏览器支持不同
如果客户端浏览器不支持cookie:
客户端浏览器需要支持cookies。如果客户端禁用cookie或不支持cookie,会话跟踪将无效。对于wap上的应用,传统的cookie是没有用的。
使用会话需要重写url地址。所有使用session程序的url都必须重写,否则session会话跟踪将无效。
如果客户端支持cookie:
cookie可以设置在本浏览器窗口和子窗口中有效,也可以设置在所有窗口中有效。
会话只能在此窗口和子窗口中有效。
8.不同的跨域支持。
cookie支持跨域访问。
会话不支持跨域访问。