Session ,Cookie ,webStorage的區別

前言

這怕是一個老生常談的問題了

Session

保存在服務器端,大小沒有限制,由後端進行設置

服務器會對每一個客戶端的請求做一個唯一標識,當客戶端向服務端發送請求時,服務端會先進行一下判斷,是否有攜帶的sessionId,如果有,就進行搜索,是否有效,如果沒有sessionid,則創建一個新的sessionId

服務器可以將sessionid的值保存到cookie中,使瀏覽器每次發出請求都會將Seesion的值一起發送到服務器。(瀏覽器自動的,不需要設置),用戶可以根據設置cookie的secure來關閉自動發送

瀏覽器會根據請求地址,判斷是否要攜帶cookie,以及帶哪個cookie。

Cookie

保存在客戶端的內存或硬盤中,大小限制在4k左右

cookie中會保存一系列的信息:

domain:服務器端 的主機名
path:cookie的作用域,
expires/max-age:cookie的有效期
httponly:是不是隻讀,設置只讀,則不能獲取cookie的值,由後端進行設置
secure:設置是否自動發送cookie,默認爲False,自動發送,爲ture表示不允許自動發送,也由後端進行設置
samesite:定義cookie如何跨域發送,爲谷歌新研發的一種安全機制,目的是防止CSRF跨站請求以及XSSI跨站腳本攻擊

webStorage

保存在瀏覽器,比cookie容量更大,最大爲5MB。只會在當前的網站中有效。

localStorage:保存在瀏覽器端 ,不主動的清除,不會失效

sessionStroage:保存瀏覽器,瀏覽器關閉後,頁面失效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章