狀態保持【Cookie】
阿新 • • 發佈:2018-08-06
對象 true 當前 dem his from 也會 客戶 response
- 因為 http 是一種無狀態協議,瀏覽器請求服務器是無狀態的。
- 無狀態:指一次用戶請求時,瀏覽器、服務器無法知道之前這個用戶做過什麽,每次請求都是一次新的請求。
- 無狀態原因:瀏覽器與服務器是使用 socket 套接字進行通信的,服務器將請求結果返回給瀏覽器之後,會關閉當前的 socket 連接,而且服務器也會在處理頁面完畢之後銷毀頁面對象。
- 有時需要保持下來用戶瀏覽的狀態,比如用戶是否登錄過,瀏覽過哪些商品等
- 實現狀態保持主要有兩種方式:
- 在客戶端存儲信息使用
Cookie
- 在服務器端存儲信息使用
Session
- 在客戶端存儲信息使用
- Cookie:指某些網站為了辨別用戶身份、進行會話跟蹤而儲存在用戶本地的數據(通常經過加密)。
- 復數形式Cookies。
- Cookie最早是網景公司的前雇員Lou Montulli在1993年3月的發明。
- Cookie是由服務器端生成,發送給客戶端瀏覽器,瀏覽器會將Cookie的key/value保存,下次請求同一網站時就發送該Cookie給服務器(前提是瀏覽器設置為啟用cookie)。
- Cookie的key/value可以由服務器端自己定義。
-
from flask import Flask
from flask import make_response
from flask import requestapp = Flask(__name__)
@app.route("/")
def index():
return "index"# 設置cookie,設置時間
@app.route("/demo1")
def demo1():
resp = make_response("this is response")
resp.set_cookie("username","laowang",max_age = 3600) # 時間以秒為單位
return resp# 獲取cookie
@app.route("/demo2")
def demo2():
resp = request.cookies.get("username")
return respif __name__ == ‘__main__‘:
app.run(debug = True)
狀態保持【Cookie】