1. 程式人生 > >狀態保持【Cookie】

狀態保持【Cookie】

對象 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 request

      app = 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 resp

      if __name__ == ‘__main__‘:
      app.run(debug = True)

狀態保持【Cookie】