Django之cookie 和 session
一、
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