Cookie与Session

Cookie:储存在用户本地终端上的数据

Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。

Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息

目前有些 Cookie 是临时的,有些则是持续的。临时的 Cookie 只在浏览器上保存一段规定的时间,一旦超过规定的时间,该 Cookie 就会被系统清除。有些页面将Cookie的时间设置为“0”或者是负数,这样在关闭浏览器的时候,就马上删除Cookie,不会记录用户信息,更加安全

Cookie的缺陷

1.数量有限制,一个浏览器创建的Cookie数量最多为300个,且不能超过4KB

2.安全性无法得到保障

Session:是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。

客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。

客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。

如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。

Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了

Session的缺陷

  1. 因为Session是保存在服务器上,安全性虽高,但会占用服务器资源,对服务器造成压力

Cookie和Session结合使用

Web开发至今,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采用的就是这种方式

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值