session和cookie

原理:

Cookie

Cookie是产生在服务端,保存是在客户端(一般指浏览器)。当客户端第一次访问服务端时,就会创建Cookie,然后返回给客户端,客户端将其保存。第二访问的时候,会带这些cookie数据一起到服务器。

Session 

Session是基于cookie实现的,浏览器第一次访问服务器时,服务器创建一个Session,同时生成一个唯一的会话key,即sessionID。接着sessionIDsession分别作为keyvalue保存到缓存中,也可以保存到数据库中,然后服务器把sessionID通过set-cookie的方式写入浏览器,浏览器下次访问服务器时直接携带上cookie中的sessionID,服务器再根据sessionID找到对应的session进行匹配 

区别:

安全性:Session比Cookie安全,Session是存在服务端的,Cookie是存在客户端的(一般指浏览器)

存取值的类型不同:Cookie只支持字符串,Session可以存任意类型

有效期不同:Cookie可以设置存活时间,Session存活时间比较短,客户端关闭(默认情况下)或者Session超时都会失效。

存储大小不同:单个cookie保存的数据<=4KB,一个站点最多保存20个Cookie。对于session来说并没有上限,但出于对服务器端的性能考虑,session内不要存放过多的东西,并且设置session删除机制。

此文章借鉴了 https://zhuanlan.zhihu.com/p/602754182,详细的请点此链接

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值