-
安全性: Session 比 Cookie 安全
Session 数据是存储在服务器端的,对客户端是透明对,不会泄露敏感信息,较为安全
Cookie 是存储在客户端浏览器上的,对客户端是可见的,可以分析存放在本地的cookie并进行cookie欺骗,因此不安全 -
存取值的类型不同:
Session 可以存任意数据类型,例如string,integer,list,map等
Cookie 只支持存ASCII字符串数据,并需要通过编码方式存储为Unicode字符或者二进制数据。想要设置其他类型的数据,先需要将其转换成字符串, -
有效期不同:
Session 有效时间较短,由于session依赖于名为JSESSIONID的cookie,而cookie JSESSIONID的过期时间默认为-1,只需关闭窗口该session就会失效,因此默认情况下当客户端关闭或者 Session 超时都会失效。因而session无法长期有效。
Cookie 可设置为长时间有效,例如默认登录功能, -
存储大小不同:
Session 可存储数据远高于 Cookie,但是当访问量过多,会占用过多的服务器资源。
Cookie单个保存的数据<=4KB,一个站点最多保存20个Cookie。 -
服务器压力不同
Session存储在服务器端的,每个用户都会产生一个session。假如并发访问的用户多的话,会产生很多的session,耗费大量的内存。
Cookie存储在客户端,不占用服务器资源。对于并发用户十分多的网站,cookie是很好的选择。 -
跨域支持上不同
Session不支持跨域名访问
Cookie支持跨域名访问。