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信息網站

相關文章
相關標籤/搜索