session,cookie,localStorage,sessionStorage

首先,從存儲位置來看,可以分為服務端存儲和客戶端存儲兩種。

服務端存儲:session
瀏覽器端存儲:cookie,localStorage,sessionStorage

cookie、session區(qū)別

存儲位置:cookie 存儲于瀏覽器端,而 session 存儲于服務端

機制:cookie 是存儲在瀏覽器里的一小段「數(shù)據(jù)」,而session是一種讓服務器能識別某個用戶的「機制」,session 在實現(xiàn)的過程中需要使用cookie。 二者不是同一維度的東西。

安全:cookie 的安全性相比于 session 較弱,別人可以分析存放在本地的COOKIE并進行COOKIE欺騙 ,考慮到安全應當使用session。
性能:session 會在一定時間內保存在服務器上。當訪問增多時,會占用服務器的資源,所以考慮到服務器性能方面,可以使用cookie
存儲大小區(qū)別:cookie 存儲容量有限制,單個cookie 保存數(shù)據(jù)不能超過4k,且很多瀏覽器限制一個站點最多保存20個cookie。而對于 session ,其默認大小一般是1024k
攜帶:cookie 數(shù)據(jù)始終在同源的http請求中攜帶,session給予cookie一個session id來識別用戶

cookie、sessionStorage、localStorage 異同點

html5 中 webStorage 包含 sessionStorage 和 localStorage
共同點:

都保存在瀏覽器端,(且是同源的)
區(qū)別:

1.存儲大小區(qū)別,cookie 是4k,webStorage 可以達到5M甚至更大
2.數(shù)據(jù)有效時間區(qū)別: sessionStorage 僅僅是會話級別的存儲,它只在當前瀏覽器關閉前有效,不能持久保持;localStorage 始終有效,即使窗口或瀏覽器關閉也一直有效,除非用戶手動刪除,其才會失效;cookie 只在設置的 cookie 過期時間之前一直有效。
3.作用域區(qū)別:sessionStorage 在不同頁面無法共享; localStorage 和 cookie 在所有同源窗口是共享的。
(相同瀏覽器的不同頁面間可以共享相同的 localStorage(頁面屬于相同域名和端口),但是不同頁面或標簽頁間無法共享sessionStorage的信息)
4.cookie 數(shù)據(jù)始終在同源的http請求中攜帶,而 webStorage 不會再請求中攜帶,僅僅在本地存儲
(5.Web Storage 支持事件通知機制,可以將數(shù)據(jù)更新的通知發(fā)送給監(jiān)聽者。Web Storage 的 api 接口使用更方便。)

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容