07.會話跟蹤技術cookie與session

會話跟蹤技術cookie與session數據庫

01.會話跟蹤:會話路徑技術使用Cookie或session完成:
  咱們知道HTTP協議是無狀態協議,也就是說每一個請求都是獨立的!
  沒法記錄前一次請求的狀態。但HTTP協議中可使用Cookie來完成會話跟蹤!
  在Web開發中,使用session來完成會話跟蹤,session底層依賴Cookie技術瀏覽器

02.Cookie概述
  Cookie是由服務器建立,而後經過響應發送給客戶端的一個鍵值對。
  客戶端會保存Cookie,並會標註出Cookie的來源(哪一個服務器的Cookie)服務器

  Cookie規範:
    *Cookie大小上限爲4KB;
    *一個服務器最多在客戶端瀏覽器上保存20個Cookie;
    *一個瀏覽器最多保存300個Cookie
    *不一樣瀏覽器之間是不共享Cookie的cookie

#設置cookie:key-value格式 response = HttpResponse("success") response.set_cookie("date",date) #獲取cookie: request.COOKIES 刪除cookie: response.delete_cookie("cookie_key",path="/",domain=name)

 

 

03.Django中的session語法

一、設置Sessions值
request.session['session_name'] ="admin"
二、獲取Sessions值
session_name = request.session["session_name"]
三、刪除Sessions值
del request.session["session_name"]
四、flush()
刪除當前的會話數據並刪除會話的Cookie。
這用於確保前面的會話數據不能夠再次被用戶的瀏覽器訪問
五、get(key, default=None)
fav_color = request.session.get('fav_color', 'red')
六、pop(key)
fav_color = request.session.pop('fav_color')
七、keys()
八、items()
九、setdefault()
10 用戶session的隨機字符串
request.session.session_keysession

# 將全部Session失效日期小於當前日期的數據刪除
request.session.clear_expired()dom

# 檢查 用戶session的隨機字符串 在數據庫中是否
request.session.exists("session_key")spa

# 刪除當前用戶的全部Session數據
request.session.delete("session_key")code

request.session.set_expiry(value)
* 若是value是個整數,session會在些秒數後失效。
* 若是value是個datatime或timedelta,session就會在這個時間後失效。
* 若是value是0,用戶關閉瀏覽器session就會失效。
* 若是value是None,session會依賴全局session失效策略。blog

相關文章
相關標籤/搜索