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,所有資料儲存在客戶端...