session和cookie的区别 session和cookie的区别和作用
Cookie与Session的区别
Cookie与Session的区别在于数据存放位置不同、安全程度不同、性能使用程度不同和数据存储大小不同。
1、数据存放位置不同
cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、安全程度不同
cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。
3、性能使用程度不同
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
4、数据存储大小不同
单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie,而session则存储与服务端,浏览器对其没有限制。
本来session是一个抽象概念,开发者为了实现中断和继续等操作,将useragent和server之间一对一的交互,抽象为“会话”,进而衍生出“会话状态”,也就是session的概念。
而cookie是一个实际存在的东西,http协议中定义在header中的字段。可以认为是session的一种后端无状态实现。
而我们今天常说的“session”,是为了绕开cookie的各种限制,通常借助cookie本身和后端存储实现的,一种更高级的会话状态实现。
所以cookie和session,你可以认为是同一层次的概念,也可以认为是不同层次的概念。具体到实现,session因为sessionid的存在,通常要借助cookie实现,但这并非必要,只能说是通用性较好的一种实现方案。
request与session具体的使用区别!最好给我举个例子,更好
request是请求,session是会话,request的生命周期就在一次请求中,而session是整个会话周期,你开启一个网站就是一个会话,知道关闭浏览器,session才被销毁,而request是在开启一个网站,关闭这个网站,request就被销毁了,在jsp中一般就request来传递该页面使用的参数,而session则用来保存整个网站所需要的参数,如用户信息,我不太明白你为什么问这两者的区别,因为一般是request和response,session和cookie
Cookie和session的区别是什么
Cookie和Session的主要区别体现在以下六个方面:
存放位置:Cookie保存在客户端,如用户的浏览器中,而Session保存在服务器端。
存储类型:Cookie中只能保存ASCII字符串,而Session可以保存任意类型的数据,甚至JavaBean乃至任何Java类、对象等。
安全性:由于Cookie存储在浏览器中,对客户端是可见的,存在被窥探、复制、修改的风险。而Session存储在服务器上,因此不存在敏感信息泄露的风险。
有效期:Cookie的过期时间可以被设置很长,而Session的默认过期时间为-1,只要关闭了浏览器窗口,该Session就会过期。因此,Session不能完成信息永久有效。如果Session的超时时间过长,服务器累计的Session就会越多,容易导致内存溢出。
对服务器造成的压力:每个用户都会产生一个session,如果并发访问的用户过多,就会产生非常多的session,耗费大量的内存。
跨域支持:Cookie支持跨域名访问,而Session则不会支持跨域名访问。
总的来说,Cookie和Session在存放位置、存储类型、安全性、有效期、对服务器造成的压力以及跨域支持方面存在明显的差异。具体应用时,要根据实际情况选择使用Cookie还是Session。





