中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

flask框架中的cookie和session有什么用

發布時間:2020-07-09 17:44:47 來源:億速云 閱讀:240 作者:清晨 欄目:編程語言

小編給大家分享一下flask框架中的cookie和session有什么用,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

文章介紹了flask框架中的cookie和session。Session是在服務器端保存的一個數據結構,用來跟蹤用戶的狀態,這個數據可以保存在集群、數據庫、文件中。Cookie是客戶端保存用戶信息的一種機制,用來記錄用戶的一些信息,也是實現Session的一種方式。

WEB -> cookie & session

由于HTTP協議是無狀態的協議,所以服務端需要記錄用戶的狀態時,就需要用某種機制來識具體的用戶,這個機制就是Session.典型的場景比如購物車,當你點擊下單按鈕時,由于HTTP協議無狀態,所以并不知道是哪個用戶操作的,所以服務端要為特定的用戶創建了特定的Session,用用于標識這個用戶,并且跟蹤用戶,這樣才知道購物車里面有幾本書。這個Session是保存在服務端的,有一個唯一標識。

服務端如何識別特定的客戶?這個時候Cookie就登場了。每次HTTP請求的時候,客戶端都會發送相應的Cookie信息到服務端。實際上大多數的應用都是用 Cookie 來實現Session跟蹤的,第一次創建Session的時候,服務端會在HTTP協議中告訴客戶端,需要在 Cookie 里面記錄一個Session ID,以后每次請求把這個會話ID發送到服務器,我就知道你是誰了。

Cookie其實還可以用在一些方便用戶的場景下,設想你某次登陸過一個網站,下次登錄的時候不想再次輸入賬號了,怎么辦?這個信息可以寫到Cookie里面,訪問網站的時候,網站頁面的腳本可以讀取這個信息,就自動幫你把用戶名給填了,能夠方便一下用戶。這也是Cookie名稱的由來,給用戶的一點甜頭。

flask中的session和cookie

   flask中的session機制是將敏感數據加密后放入session,然后將session存入cookie,下次請求時,直接從瀏覽器發過來的cookie中獲取session,再從中獲取數據進行解密

   這樣操作更節省服務開銷,因為數據均存儲到客戶端

   大家可能會擔心這種做法的安全性,因為數據全部存儲在本地瀏覽器,很容易被盜取,但是安全性總是相對的,而且flask里面對session也有自己的特殊加密算法,所以也不用太過于在意安全方面的問題

Session操作

1.使用sessiom需要先導入session

from flask import session

2.SECRET_KEY

     一定記得要設置SECRET_KEY,用于加密數據,并且如果每次啟動服務器你的秘鑰都在變化的話就不能再用之前的SECRET_KEY進行解密了,我們此處就可以將它設置成固定值,對于配置文件里面變量的設置,前文講過,如果數據量比較多就單獨在config.py里面集成,但是如果只是很微量的幾條設置,那么就可以在主文件里簡單進行指令設置即可,類似這里的:

#生成隨機的24位字符串
app.config['SECRET_KEY'] = os.urandom(24)

3.session值添加

因為session和cookie都是鍵值對形式的字典,所以直接用字典方法添加就可以了

session['username'] = 'user1'

4.session值刪除

#1.單條刪除
session.pop('username')
del session['username']
#2. 全部清除
session.clear()

5.session值獲取

session.get('username')
session['username']

6.設置過期時間(如果不設置,默認瀏覽器退出即自動結束)

#在config.py中配置session參數PERMANENT_SESSION_LIFETIME,這個值的數據類型是datetime.timedelay類型
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(days=7) 
session.permanent = True  #默認為31天

看完了這篇文章,相信你對flask框架中的cookie和session有什么用有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汨罗市| 那曲县| 弥渡县| 黔东| 大姚县| 安康市| 县级市| 光山县| 海安县| 武强县| 察隅县| 勃利县| 县级市| 图木舒克市| 宜昌市| 平塘县| 精河县| 资讯| 滦平县| 西乌珠穆沁旗| 沂水县| 石门县| 大理市| 巴塘县| 蕲春县| 德兴市| 宁晋县| 和田市| 汉寿县| 调兵山市| 左贡县| 姜堰市| 科尔| 恩施市| 天祝| 突泉县| 盐津县| 东辽县| 东莞市| 阿图什市| 宿州市|