如何更好的理解cookie和session

如何更好的理解cookie和session?

cookie是什么?有什么作用?

例如在我们使用账号密码登入淘宝网之后,可以查看自己的订单中心,可以找到自己购买过的东西、店铺,发票、收藏以及足迹等
在这里插入图片描述
我们复制我的淘宝这个页面的url,在新的窗口打开粘贴访问可以直接进入我们的个人中心这里,这是因为我们当前已经是一个登录的状态。在我们退出登录之后在新的窗口粘贴访问它不会跳转到个人中心,而是拉取到登录界面,***因为你想要进到自己的个人中心,而网站需要知道你是谁?一个服务器/网站如何记得/知道你是谁,那使用的就是cookie。***在我们登录淘宝网站时,用户名和密码会发送到淘宝的服务器后台,后台会验证你的用户名和密码是否正确,正确的话会给你的浏览器设置一个cookie。在下一次登录淘宝网站时,浏览器会主动的携带者当前的cookie,服务器会接收cookie来判断是哪一位用户。
这里就要提到http请求是无状态的请求协议,不会记住用户的信息和状态,也不清楚在之前访问过什么?因为用户需要记录用户是否登录是,就需要在用户登录后创建一些信息并且把这些信息记录在当前用户的浏览器中,记录的内容就是cookie。打个简单的比方,A来跟我聊天的时候,我需要先判断A是谁,再跟他聊天,这就是http请求。那为了解决这个问题应该怎么做呢?当A第一次来找我聊天的时候我给A贴上一个标签,等A再来的时候我看到标签就知道他是A,我们什么时候聊过天,这就是cookie,我们可以理解为服务器给浏览器贴了一个标签,浏览器再来的时候会携带标签,服务器就能识别出是谁。
cookie会在浏览器中记录信息,并且在访问时携带这个信息。虽然不是很多人能轻松获取这个信息,但是在浏览器中记录这些是不明智的。
1.浏览器更换或删除cookie,会造成信息丢失
2.cookie在浏览器中记录的信息是不安全的,因此不能记录敏感信息

session

同样以上述的问题来讲解session,如果A来的话,我会用本子记录下A的(敏感)信息,但并不会把信息给A,也就是session会把信息记录在服务器/数据库中。但是不会只有一个人来跟我聊天,我把信息编上对应不重复的sessionID编号,把sessionID放到标签里给A,A再来的时候只有一个sessionID编号,来我这里才能识别出是谁。

session是在服务器端进行数据的记录,并且再给每个用户生成一个sessionID,并把这个sessionID设置在用户的浏览器中,也就是设置cookie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值