cookie和session的概念和区别

cookie概念

在浏览某些网站时,这些网站会把一些数据存在 客户端 , 用于使用网站等跟踪用户,实现用户自定义功能.如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,关闭浏览器后消失。每次访问同源网络链接时都会发送一次cookie。

  • 一般保存在内存,不在硬盘(如果设置了过期时间, 浏览器会把cookie保存在硬盘上,关闭再打开浏览器, 这些cookie 依然有效直到超过的设置过期时间;)
    在这里插入图片描述

session概念

Session是存放在服务器端的类似于HashTable结构(每一种web开发技术的实现可能不一样,下文直接称之为HashTable)来存放用户数据;

  • 作用:实现网页之间数据传递,是一个存储在服务器端的对象集合
  • 原理:当用户请求一个Asp.net页面时,系统将自动创建一个Session;退出应用程序或关闭服务器时,该Session撤销。系统在创建Session时将为其分配一个长长的字符串标识,以实现对Session进行管理与跟踪。

区别

  • cookie数据存放在客户的浏览器上,session数据放在服务器上.
  • cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗考虑到安全应当使用session。
  • session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用cookie。
  • 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。(Session对象没有对存储的数据量的限制,其中可以保存更为复杂的数据类型)

注:当多客户端时抛弃cookie方式(因为像ios安卓一类的不会自动发送cookie) 可以改用请求头+token来进行认证

如何判断用户是否登录

登录后会把用户信息,比如用户id或者token等等存入到session和cookie中,其中session存在服务器,cookie存在浏览器,在访问页面时,浏览器会自动带着此网页上的cookie去访问此网页,这时cookie会被发送到服务器中寻找与之匹配的session,来确定登录信息并返回

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值