Cookie与Session

2020-01-18
Cookie:
1.如果我们用JS的变量来存储数据,name在页面关闭的时候,数据就消失了。
2.保持登陆状态是怎么做到的呢?
按照正常的HTTP协议来说,是做不到的。
因为HTTP协议上下文无关协议。
3.所以说前端页面上要有一个可以持久化存储数据的东西。一旦登陆成功,就记载在这个页面里。
Cookie是有限制的。
Cookie是存在浏览器里面的,不存是存在某个页面上。是可以长期存储的。Cookie即使是保存在浏览器里,也是存放在不同域名下的。
举个栗子
(1)初始状态:没有登陆。
(2)访问百度的登录。输入用户名,密码。
(3)如果用户名密码是正确的的。百度的后端会向这个域名下,设置一个Cookie。写入用户的基本信息(加密的)。
(4)以后每一次向百度发送请求,浏览器都会自动带上这些Cookie。
(5)服务端看到带有ID的cookie,就可以解析这个加密的ID,来获取到这个用户本身的ID。
(6)如果能获取到本身的ID,那么就证明这个用户已经登录过了。所以后端可以继续保留用户的信息。
这种情况下有一个缺点:如果有个坏人复制了我的浏览器的Cookie那么他就可以肆意妄为。
Session
(1)信息存储在服务器上,所以不存在上面的坏人盗走你的信息情况了。
缺点:如果用户量非常大,服务器端很耗资源。(因为后端可能不止一台服务器,用户的登录信息一般只存在一台服务器上,因为用户的登陆操作在哪台机器上执行的,就一般存在哪台机器上。需要通过反向代理:①轮询②IP哈希)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值