参考资料:http://www.cnblogs.com/yuanchenqi/articles/5716193.html
1名词解释
- cookie:每当我们使用一款浏览器访问一个登陆页面的时候,一旦我们通过了认证,服务器端就会发送一组随机唯一的字符串到浏览器端,这个被存储在浏览端的东西就叫cookie。cookie里面通常含有sessionid和csrftoken信息,其中sessionid就是服务端的session存储信息的key
- session:由于cookie是存在客户端的,不安全,且最大支持4096字节。为解决这些问题,需要用session与cookie配合使用。session是服务端存储的用户登录信息,经过加密处理后存在数据库里面的,信息存储对应的key就是cookie里面sessionid的值。
![](https://img.haomeiwen.com/i3233886/4af9f47d055a4ba0.png)
2 cookie和session相关的操作
获取cookie:request.COOKIES
设置cookie:ret.set_cookie(key,value,max_age=10,expires=datetime.datetime.utcnow()+datetime.timedelta(days=3)) // max_age——过期时间10s, expires——带格式的过期时间
获取session:request.session
设置session:request.session[key] = value
删除session:del request.session[key]
request.session.set_expiry(value)
* 如果value是个整数,session会在些秒数后失效。
* 如果value是个datatime或timedelta,session就会在这个时间后失效。
* 如果value是0,用户关闭浏览器session就会失效。
* 如果value是None,session会依赖全局session失效策略。
网友评论