tornado中的cookie
1. cookie与session的区别:
Session:通过在服务器端记录用户信息从而来确认用户身份,保存在服务器上,每个用户会话都有一个对应的session
Cookie:通过在客户端记录信息确认身份,客户端浏览器会把Cookie保存起来,当再次访问的时候,把该Cookie一同提交给服务器,就可以进行用户的辨认
2.set_secure_cookie()
通过查看该方法,我们可以发现,其实该方法就是对第一个set_cookie的进一步封装,通过注释可以知道:要使用这个方法对cookie进行设置,必须在项目的Application中,定义一个“cookie_secret” --> 这个cookie_secret应该是随机的,并且长字符串,当然你可以设置成你自己定义的固定的字符串。然后还有一个参数expires_days特别需要值得注意,这里如果我们不进行设置的话,cookie的过期时间将为30天,当然,这个跟get_secure_cookie中的max_age_day是相互独立的。
接下来,我们通过源码分析后,我们想对cookie设置过期时间,只需要在set_secure_cookie()函数中,将expires_day进行重写就可以了
1. 这个设置过期时间的参数 expires_day,如果想以秒作为过期单位的话,应该这样写:expires_day = time.time() + 对应的秒数(实际在使用的时候,发现此种方式不可行,对此用了另一种方式:
self.set_secure_cookie('user_id', '1', expires=time.time()+900)
2. 如果想设置,关闭浏览器就清楚cookie的话,应该这样设置,将过期时间重写置空:expires_day = None
最新文章
- ftp应用
- MySQL, 创建一个只读用户和一个所有权限用户
- git 本地分支与远程分支
- 手写代码自动实现自动布局,即Auto Layout的使用
- 【mysql】使用脚本对mysql状态进行监控
- NSDate简单介绍
- 理解URI和URL
- java解惑
- Google图片搜索
- 利用console控制台调试php代码
- C++创建对象的三种方式
- iOS开发之理解iOS中的MVC设计模式
- N皇后( DFS,推荐)
- 基于libUSB的USB设备固件更新程序(下载数据)(转)
- Android群英传笔记——第十章:Android性能优化
- 远程连接mysql8.0,Error No.2058 Plugin caching_sha2_password could not be loaded
- windows和ubuntu下git commit提交后如何保存和退出,回到命令行
- Ecplise 快捷键笔记
- [转帖]UEFI和BIOS
- python fabric实现远程操作和部署示例