應用鑒權就是當壹個用戶進入APP時,我們需要判斷他所擁有的權利,根據權力來判斷他所能進行的壹個行為,最為常見的就是購物網站的登錄以及購物支付等操作。
Http的請求是無狀態的,就是說在壹個Http請求中的請求方和響應方都是無法維護狀態,是壹次性的,所以我們就不知道請求前後都發生了什麽。所以我們需要標記的功能,而瀏覽器的sessionStorage,localStorage,全局變量等限制太多,就有了cookie,session,token等鑒權的操作。
cookie也是壹種前端存儲的方式,但是他和sessionStorage,localStorage等本地存儲的不同在於,瀏覽器向服務端發起請求的時候,cooike是自動傳過去的,可以做到前端無感知,出錯的概率更低
過程:
1.瀏覽器向服務器發起請求並傳送數據,由服務器接收數據然後設置cooike放進響應頭(Set-Cookie),瀏覽器接收到響應之後就會自動存儲進cookie
2.在之後的每壹次請求中瀏覽器都會自動的在請求頭之中設置cookie字段,發送給服務端
配置:
1.Domain/Path
cookie 是要限制空間範圍的,通過 Domain(域)/ Path(路徑)兩級。
2.Expires / Max-Age
cookie 還可以限制時間範圍,通過 Expires、Max-Age 中的壹種。
3.Secure / HttpOnly
cookie 可以限制使用方式。
Http頭對cookie的讀寫:
響應會攜帶壹個Set-Cookie頭,壹個Set-Cookie只能設置壹條cookie,格式為cookie鍵值+配置鍵值,如果想要壹次設置多個cookie,我們可以多寫幾個Set-Cookie在頭裏面。
而當瀏覽器請求服務器的時候,就不再需要發送配置內容了,只需要發送鍵值對就可以
前端對cookie的讀寫操作:
如果服務端設置的cookie並沒有設置)