HTTP狀態保持(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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章