session和cookie的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了session和cookie的区别相关的知识,希望对你有一定的参考价值。

session是存储在服务器端的,cookie是存储在客户端的,所以session的安全性要高于cookie。
再者,我们获取的session里的信息是通过存放在会话cookie里的sessionId获取的。
因为session是存放在服务器里的,所以session里的东西不断增加会增加服务器的负担,我们会把一些重要的东西放在session里,不太重要的放在客户端cookie里。
cookie分为两大类,一个是会话cookie和持久化cookie,他们的生命周期和浏览器是一致的,浏览器关了会话cooki也就消失了,而持久化会存储在客户端硬盘中。
参考技术A

session和cookie的区别如下


1、作用范围不同,Cookie保存在客户端浏览器,Session保存在服务器端。

2、存取方式的不同,Cookie只能保存ASCII,Session可以存任意数据类型,一般情况下我们可以在Session中保持一些常用变量信息,比如说UserId等。

3、有效期不同,Cookie可设置为长时间保持,比如我们经常使用的默认登录功能,Session一般失效时间较短,客户端关闭或者Session超时都会失效。

4、隐私策略不同,Cookie存储在客户端,比较容易遭到不法获取,早期有人将用户的登录名和密码存储在Cookie中导致信息被窃取,Session存储在服务端,安全性相对Cookie要好一些。

5、存储大小不同,单个Cookie保存的数据不能超过4K,Session可存储数据远高于Cookie。

参考技术B session和cookie的区别:
1、存储位置不同:cookie在客户端浏览器,session在服务器。
2、存储容量不同:cookie<=4k,一个站点最多保留20个cookie;session没有上线,出于对服务器的保护,session内不可村过多东西,并且要设置session删除机制。
3、存储方式不同:ccokie只能保存ASCII字符串,并需要通过编码方式存储为Unicode字符或者二进制数据;session中能存储任何类型的数据,包括并不局限于string、integer、list、map等。
4、隐私策略不同:cookie对客户端是可见的,不安全,session存储在服务器上,安全。
5、有效期不同:开发可以通过设置cookie的属性,达到使cookie长期有效的效果;session依赖于名为JESSIONID的cookie,而cookie JSESSIONID的过期时间默认为-1,只需关闭窗口该session就会失效,因而session达不到长期有效的效果。
6、跨域支持上不同:cookie支持跨域;session不支持跨域。

cookie 和session 区别

会话技术:

Cookie:客户端技术.将数据保存在客户端浏览器上.Cookie是有大小和个数的限制.

Session:服务器端技术.将数据保存在服务器端.Session没有大小和个数限制.Session基于Cookie回写了一个JSESSIONID.

Cookie的分类:

* 会话级别的Cookie:浏览器关闭了,Cookie就销毁了!

* 持久化的Cookie:

* cookie.setMaxAge(时间); --- 存活指定的时间.

* cookie.setMaxAge(0); --- 销毁持久性Cookie.条件:必须路径得一致.

* 案例一:记录用户上次访问时间.

* 案例二:客户访问的浏览记录.

Session:

* 案例一:购物车

* 案例二:验证码

* session的追踪:浏览器禁用Cookie之后还想使用Session?

* URL重写:

* 在所有的地址路径后拼接;jsessionid=sessionID的值.

* response.encodeURL(url); --- 自动在URL地址后拼接jsessionid

* response.encodeRedirectURL(url); --- 在重定向的时候进行URL重写.

以上是关于session和cookie的区别的主要内容,如果未能解决你的问题,请参考以下文章

session和cookie的区别是啥?

session和cookie区别及生命周期

Token是啥?和session、cookie相比,使用场景有啥区别?

Cookie和Session的区别

Cookie和Session的区别与联系

cookie 和session 区别