zoukankan      html  css  js  c++  java
  • 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信息

  • 相关阅读:
    google code jam exercise——Your Rank Is Pure
    C/C++中的文件操作(2)
    google code jam exercise——File Fix It
    google code jam exercise——All Your Base
    C/C++中的文件操作(1)
    google code jam exercise——Center of Mass
    C/C++字符串操作split
    JavascriptDOM
    Javascript特权方法
    Report子报表
  • 原文地址:https://www.cnblogs.com/sellsa/p/9354569.html
Copyright © 2011-2022 走看看