Session和Cookie的区别

从存储⽅式上⽐较

Cookie只能存储字符串,如果要存储⾮ASCII字符串还要对其编码。
Session可以存储任何类型的数据,可以把Session看成是⼀个容器。

从隐私安全上⽐较

Cookie存储在浏览器中,对客户端是可⻅的。信息容易泄露出去。如果使⽤Cookie,最好将
Cookie加密
Session存储在服务器上,对客户端是透明的。不存在敏感信息泄露问题。

从有效期上⽐较

Cookie保存在硬盘中,只需要设置maxAge属性为⽐较⼤的正整数,即使关闭浏览器,Cookie还是存在的
Session的保存在服务器中,设置maxInactiveInterval属性值来确定Session的有效期。并且Session依赖于名为JSESSIONID的Cookie,该Cookie默认的max
Age属性为-1。如果关闭了浏览器,该Session虽然没有从服务器中消亡,但也就失效了。

从对服务器的负担⽐较

Session是保存在服务器的,每个⽤户都会产⽣⼀个Session,如果是并发访问的⽤户⾮常多,是不能使⽤Session的,Session会消耗⼤量的内存。
Cookie是保存在客户端的。不占⽤服务器的资源。像baidu、Sina这样的⼤型⽹站,⼀般都是使⽤Cookie来进⾏会话跟踪。

从浏览器的⽀持上⽐较

如果浏览器禁⽤了Cookie,那么Cookie是⽆⽤的了!
如果浏览器禁⽤了Cookie,Session可以通过URL地址重写来进⾏会话跟踪。

从跨域名上⽐较

Cookie可以设置domain属性来实现跨域名
Session只在当前的域名内有效,不可夸域名

posted @ 2020-09-07 19:51  L1ng14  阅读(81)  评论(0编辑  收藏  举报