欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

web菜鸟,请问什么时候使用session 什么时候使用 cookie?

程序员文章站 2022-05-20 15:02:08
...
大家好,请问什么时候使用session 什么时候使用 cookie?

本人web菜鸟,看了很多资料,模模糊糊的. 对于什么场景怎么用,非常混乱.想请教大家.

比如 现在想实现购物车.(非注册用户可用)

访客提交商品到购物车时,可以获取到ip地址.然后存储信息. 目前数据我已经存到数据库了.

但是 下次访客再次访问的时候 如何确认当前访客呢? 我使用的是yii2的框架. 打印sessionid的时候,发现每次关闭重新打开浏览器,这个id都会变化. 当然这个是可以配置的. 但是出于其他需求,就必须是关闭浏览器session就失效. 所以这样的情况下,怎么才能在下次访客打开页面的时候,能继续确认当前访客的身份呢? 继而获取当前访客之前的购物车信息.

谢谢大家,请多多指导.

回复内容:

大家好,请问什么时候使用session 什么时候使用 cookie?

本人web菜鸟,看了很多资料,模模糊糊的. 对于什么场景怎么用,非常混乱.想请教大家.

比如 现在想实现购物车.(非注册用户可用)

访客提交商品到购物车时,可以获取到ip地址.然后存储信息. 目前数据我已经存到数据库了.

但是 下次访客再次访问的时候 如何确认当前访客呢? 我使用的是yii2的框架. 打印sessionid的时候,发现每次关闭重新打开浏览器,这个id都会变化. 当然这个是可以配置的. 但是出于其他需求,就必须是关闭浏览器session就失效. 所以这样的情况下,怎么才能在下次访客打开页面的时候,能继续确认当前访客的身份呢? 继而获取当前访客之前的购物车信息.

谢谢大家,请多多指导.

你要是属性这两种的区别再根据实际需求就很容易做出选择了。

cookie相比session生命周期更长,但是安全性却很低。

按你目前的需求,cookie记录随机ID加数据库存储购物车是一种比较好的结局方案。

要区分什么时候用session,什么时候用cookie,你首先要明白两者的区别。然后根据你的需求来决定用什么
cookie 和session 的区别:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

session 是服务和客户端的会话标识 cooike 是服务保留在在客户端的文件