1. 程式人生 > >Django之cookie 和 session

Django之cookie 和 session

info png end sig expire value 服務 django style

一、

1、cookie的由來!!!

    由於HTTP協議是無狀態的,既每一次的請求都是獨立的,他不會因為你之前來過,就記住你,所以每次瀏覽器去訪問服務器的時候,都是一個全新的過程,之前的數據也不會保留,所以為了解決這個問題,cookie誕生了。

2、什麽是cookie?

    Cookie具體指的是一段小信息,他是服務器發送出來存儲在瀏覽器一組鍵值對,下次訪問瀏覽器時會自動攜帶這些鍵值對,以便服務器提取信息。簡單來說就是,Cookie會在你訪問服務器時給你一個標記,下一次你再來訪問只要攜帶這個標記,就能夠訪問了。所以他只認標記,不認用戶。用的最普遍的就是做登錄系統。

3、Cookie的工作原理。

    原理:由服務器產生內容,瀏覽器收到請求後保存在本地;當瀏覽器再次訪問時,瀏覽器會自動帶上Cookie,這樣服務器就能通過Cookie的內容來判斷是誰了。

4、查看cookie

技術分享圖片

    Name 和 Value就是鍵值對

二、Djangoz中操作Cookie

  1、獲取cookie   

request.COOKIES[key]
request.get_signed_cookie(key, default=RAISE_ERROR, salt=‘‘, max_age=None)

  參數:

    default:默認值

    salt:加密鹽

    max_age:生命周期

  2、設置cookie

ret = render (request,html文件)
ret.set_cookie(key,value)
return ret

    通過set_cookie,這樣就對ret 設置了cookie。

   參數:

      key:鍵

      value:值

      max_age=None,超時時間

      expires = None,超時時間,用於IE瀏覽器的

      path=‘/‘:Cookie生效的路徑,/表示根路徑,他比較特殊。根路徑的cookie可以被任何url頁面訪問。

      domain = None,cookie生效的域名

      secure= False:https傳輸

      httponly = False:只能http協議傳輸,無法被JavaScript獲取。(不是絕對的,底層抓包可以獲取到,也可以被覆蓋)

  3、刪除cookie

Django之cookie 和 session