flask的cookie使用
Posted yingxiongguixing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask的cookie使用相关的知识,希望对你有一定的参考价值。
cookie基本概念:
一、 Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie。内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。硬盘Cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,硬盘Cookie不会被删除,其存在时间是长期的。所以,按存在时间,可分为非持久Cookie和持久Cookie。
HTTP请求 + cookie的交互流程
二、cookie的缺点:
- cookie会被附加在每个HTTP请求中,所以无形中增加了流量,影响性能
- 由于在HTTP请求中的cookie是明文传递的,所以安全性成问题,建议使用https
- Cookie的大小限制在4KB左右。对于复杂的存储需求来说是不够用的。
三、设置cookie:1.设置cookie是在Response的对象上设置,flask.Response对象有一个set_cookie方法,可以通过这个方法来设置cookie信息
查看cookie信息:借助于抓包工具fiddler、httpwatch、charles、burpsuit等等
四、删除cookie:通过Resposne对象.delete_cookie,指定cookie的key,就可以删除cookie了
示例:
五、设置cookie的有效期:1.max_age:以秒为单位,距离现在多少秒后cookie会过期
2.expires:为datetime类型。这个时间需要设置为格林尼治时间,相对北京时间来说,会自动+8小时
3.如果max_age 和 expires都设置了,那么这时候以max_age为标准。
4.默认的过期时间:如果没有显示的指定过期时间,那儿这个cookie将会在浏览器关闭后过期
示例:
注意:1.max_age在ie8以下的浏览器是不支持的
2.expires虽然在新版的http协议中被废弃了,但是浏览器还是能够支持,如果要兼容ie8以下的浏览器,那么应该使用expires,否则使用max_age
以上是关于flask的cookie使用的主要内容,如果未能解决你的问题,请参考以下文章