代码改变世界

javascript 基础 --- Cookie 和 Session

2019-05-25 15:41  *奋斗*  阅读(123)  评论(0)    收藏  举报

他们都是用来跟踪浏览器用户身份的会话方式。区别是:

1)保存状态区别。cookie 保存在浏览器端,session保存在服务器端;

2)使用方式区别。

cookie 机制:如果不在浏览器中设置过期时间,那么cookie保存在内存中,关闭浏览器就结束。如果在浏览器中设置了过期时间,cookie被保存在硬盘中,关闭浏览器仍然存在,直到过期时间结束才消失。
session 机制:当服务器收到请求需要创建 session对象时,首先会检查客户端请求中是否包含 sessionid。如果有 sessionid,服务器将根据 sessionid,返回对应的 session对象。如果客户端请求中没有 sessionid,服务器就会创建新的 session对象,并把sessionid 返回给客户端。通常使用 cookie方式存储 sessionid 到客户端。如果用户禁用 cookie,需要通过 response.encodeURL 进行实现。

3)存储内容区别。cookie只能保存字符串类型,以文本的方式;session通过类似于 Hashtable 的数据结构来保存,能支持任何类型的对象;

4)存储大小区别。单个cookie 保存的数据不能超过 4kb,而 session大小没有限制;

5)安全性区别。cookie 存在欺骗或可能被截获,session的安全性大于cookie;

6)应用场景区别。cookie一般用来判断用户是否登录过某个网站,保存登录信息。session用于保存用户专有信息。

个人统计【2】:2019-05-25、2019-05-26