1. 程式人生 > >Flask框架——狀態保持(cookie、session)

Flask框架——狀態保持(cookie、session)

cookie

cookie:由伺服器生成,儲存在客戶端的資料

HTTP協議是無狀態的協議,一旦資料交換完畢,客戶端與伺服器端的連線就會關閉,再次交換資料需要建立新的連線,這就意味著伺服器無法從連線上跟蹤會話。Cookie就是這樣的一種機制。它可以彌補HTTP協議無狀態的不足,有時需要保持下來使用者瀏覽的狀態,比如使用者是否登入過,瀏覽過哪些商品等,就需要用到cookie。

設定cookie: response.set_cookie(key,value,max_age) (max_age代表cookie存活時間,單位為秒,不寫的話預設關閉瀏覽器消失) 獲取cookie:

request.cookies.get(key)

session

session:由伺服器生成,儲存在伺服器 對於敏感、重要的資訊,建議要儲存在伺服器端,不能儲存在瀏覽器中,如使用者名稱、餘額、等級、驗證碼等資訊,所以可以使用session進行儲存。 session會把sessionID儲存在客戶端cookie中,但這個sessionID是經過加密的,所以設定session需要在app.config裡設定SECRET_KEY的配置資訊,一般為一個隨機字串,這個隨機字串就時sessionID的金鑰,用於解鎖經過session加密的資訊。 設定session:

session[key] = value

獲取session: session.get(key)