1七、Flask实战第17天:Flask-cookie

cookie的基本概念

在网站中,http请求是无状态的。也就是说即便第一次和服务器链接而且登陆成功后,第二次请求服务器依然不能知道当前请求的是哪一个用户。 cookie的出现就是为了解决这个问题,第一次登陆后服务器返回一些数据库(cookie)给浏览器,而后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动把上次请求存储的cookie数据自动的携带给服务器,服务器经过浏览器携带的数据就能判断当前用户是哪一个了。cookie存储的数量有限,不一样的浏览器有不一样的存储大小,但通常不超过4kb。所以使用cookie只能存储一些小量的数据。html

 

Flask设置和删除cookie

 设置cookie数据库

设置cookie应该在Response的对象上设置,  flask.Response对象有一个set_cookie方法,能够经过这个方法来设置cookie信息flask

  • key:键
  • value:值
  • max_age:设置过时时间(秒)
  • expires:设置过时时间,时间戳的形式(1970离如今的时间)
  • path:当前主域名
  • domain:子域名
  • secure: 若是为True,则要使用https
  • httponly: 是否容许JS访问cookie,默认为Flase,表示容许,这是一个扩展的cookie标准,可能不支持全部浏览器
  • samesite: 限制cookie 的范围

浏览器访问首页,按F12,查看cookie浏览器

删除cookie服务器

 

 

设置cookie的有效期

* max_age:以秒为单位,距离如今多少秒后cookie会过时。
* expires:为datetime类型。这个时间须要设置为格林尼治时间,也就是要距离北京少8个小时的时间。
* 若是max_age和expires都设置了,那么这时候以max_age为标准。
* max_age在IE8如下的浏览器是不支持的。expires虽然在新版的HTTP协议中是被废弃了,可是到目前为止,全部的浏览器都仍是可以支持,因此若是想要兼容IE8如下的浏览器,那么应该使用expires,不然可使用max_age。
* 默认的过时时间:若是没有显示的指定过时时间,那么这个cookie将会在浏览器关闭后过时。cookie

 

设置cookie的有效域名

flask如何配置子域名请 进入 子域名配置 dom

ookie默认是只能在主域名下使用。若是想要在子域名下使用,那么应该给`set_cookie`传递一个`domain='.heboan.com'`,这样其余子域名才能访问到这个cookie信息网站

相关文章
相关标签/搜索