Flask 框架的 狀態保持

2022-08-03 03:39:14 字數 2575 閱讀 6220

flask 的狀態保持有兩種 :一種是 cookie  另一種是:session。

複數形式cookies。

cookie最早是網景公司的前雇員

lou montulli

在2023年3

月的發明。

cookie是由伺服器端生成,傳送給客戶端瀏覽器,瀏覽器會將

cookie

的key/value

儲存,下次請求同一**時就傳送該

cookie

給伺服器(前提是瀏覽器設定為啟用

cookie

)。

cookie的

key/value

可以由伺服器端自己定義。

應用:

最典型的應用是判定註冊使用者是否已經登入**,使用者可能會得到提示,是否在下一次進入此**時保留使用者資訊以便簡化登入手續,這些都是cookie的功用。

**的廣告推送,經常遇到訪問某個**時,會彈出小視窗,展示我們曾經在購物**上看過的商品資訊。

購物車,使用者可能會在一段時間內在同一家**的不同頁面中選擇不同的商品,這些資訊都會寫入cookie,以便在最後付款時提取資訊。

cookie是儲存在瀏覽器中的一段純文字資訊,建議不要儲存敏感資訊如密碼,因為電腦上的瀏覽器可能被其它人使用

cookie基於網域名稱安全,不同網域名稱的

cookie

是不能互相訪問的

如訪問itcast.cn時向瀏覽器中寫了

cookie

資訊,使用同一瀏覽器訪問

時,無法訪問到

itcast.cn

寫的cookie

資訊

瀏覽器的同源策略

當瀏覽器請求某**時,會將本**下所有cookie資訊提交給伺服器,所以在

request

中可以讀取

cookie

資訊

設定cookie

from flask imoprt flask,make_response

def set_cookie():

resp = make_response('this is to set cookie')

resp.set_cookie('username', 'itcast')

return resp

設定過期時間

def set_cookie():

response = make_response('hello world')

response.set_cookie('username', 'itheima', max_age=3600)

return response

獲取cookie

from flask import flask,request

#獲取

cookie

def resp_cookie():

resp = request.cookies.get('username')

return resp

session

對於敏感、重要的資訊,建議要儲存在伺服器端,不能儲存在瀏覽器中,如使用者名稱、餘額、等級、驗證碼等資訊

在伺服器端進行狀態保持的方案就是session

session依賴於

cookie

session資料的獲取

session:請求上下文物件,用於處理

請求中的一些資料內容

def index1():

session['username'] = 'itcast'

return redirect(url_for('index'))

def index():

return session.get('username')

Flask狀態保持

一 設定cookie 1 自定義響應 response make response flask設定cookie 設定cookie response.set cookie cookie名,value,max age 過期時間 單位 秒 返回響應 return response 2 獲取cookie值 ...

Flask教程09 狀態保持

無狀態協議 協議對於事務處理沒有記憶能力 對同乙個 url 請求沒有上下文關係 每次的請求都是獨立的,它的執 況和結果與前面的請求和之後的請求是無直接關係的,它不會受前面的請求應答情況直接影響,也不會直接影響後面的請求應答情況 伺服器中沒有儲存客戶端的狀態,客戶端必須每次帶上自己的狀態去請求伺服器 ...

Django 框架07 狀態保持

1.狀態保持 http協議是無狀態的 每次請求都是一次新的請求,不會記得之前通訊的狀態 客戶端與伺服器端的一次通訊,就是一次會話 實現狀態保持的方式 在客戶端或伺服器端儲存與會話有關的資料 儲存方式包括cookie session,會話一般指session物件 使用cookie,所有資料儲存在客戶端...