• 17、Flask实战第17天:Flask-cookie


    cookie的基本概念

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

    Flask设置和删除cookie

     设置cookie

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

    • 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的有效域名

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

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

  • 相关阅读:
    View载入具体解释
    七、备忘录模式Memento(行为型模式)
    排序算法之直接插入排序
    IOS
    Matlab得到二值图像中最大连通区域
    MVC模式利用xib文件定制collectionCell
    五大算法思想—贪心算法
    jQuery鼠标悬停显示提示信息窗体
    J2EE基础总结(5)——EJB
    iOS 打开扬声器以及插入耳机的操作
  • 原文地址:https://www.cnblogs.com/sellsa/p/9354569.html
Copyright © 2020-2023  润新知