Flask ----session和cookie的理解

1.cookie

因为http协议属于无状态协议,它不跟踪从一个客户端到另一个客户端的请求信息。也就是说即使第一次和服务器连接后并且登录成功,第二次请求服务器依然不知道请求的是哪个用户。
所以使用cookie来解决这个问题:第一次登录成功后,服务器返回cookie给浏览器,然后浏览器保存在本地,当用户发送第二次请求时,就会自动的把上次请求存储的cookie数据携带给服务器,服务器再根据cookie数据判断是哪个用户。

2.session

session和cookie的作用类似,也是用来存储用户相关的信息,存储在服务器端。把用户的信息经过加密后存储在session中,然后产生一个唯一的session_id。

3. cookie和session的结合使用

一般有两种存储方式:

(1)存储在服务器端:通过cookie存储一个session_id,然后具体的数据则是保存在session中。如果用户已经登录,则服务器会在cookie中保存一个session_id,下次再请求时,会把该session_id携带上来,服务器根据session_id在session库中获取用户的session数据,就知道用户到底是谁了。以及之前保存的一些状态信息,这种专业术语叫做server side session。

(2)存储在客户端:将session数据加密,然后存储在cookie中。这种专业术语叫做 client side session。flask框架采用的就是这种方式,但是可以替换成其他形式。

4.flask的session机制

把用户信息经过加密后放入到session中,然后把session存放到cookie中。下次请求时,从浏览器发送过来的cookie中读取到session,然后再从session中读取数据并解密,获取最终的用户数据。这样可以节省服务器开销。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值