cookie 和session的區別
1. cookie放在客戶端的瀏覽器上,session放伺服器上。
2. Session生成的Session id是在cookie裡保存的,cookie被禁止後可以通過URL重寫來繼續使用session
3. cookie不是安全,存放在本地的COOKIE可能被獲取並進行COOKIE欺騙。
4. session會給伺服器帶來壓力,考慮到伺服器性能,應當使用COOKIE。
5. cookie只能保存字符串類型,以文本的方式。session通過類似與Hashtable的數據結構來保存,能支持任何類型的對象(session中可含有多個對象)
6. 單個cookie保存的數據不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie, Session大小沒限制。
Token 和Session區別
Cookie有限制,每次請求服務端必須帶上,還有大小不能超過4kb,如果想突破這個限制怎麼辦?
WebStorage
為克服由cookie所帶來的一些限制,當數據無需發回伺服器時使用。
WebStorage兩個主要目標:
HTML5的WebStorage提供了兩種API:
localStorage(本地存儲)
sessionStorage(會話存儲)
這兩種區別在哪裡?
localStorage的生命周期是永久的,關閉頁面或瀏覽器之後localStorage中的數據也不會消失。localStorage除非主動刪除數據,否則數據永遠不會消失。sessionStorage的生命周期是在僅在當前會話下有效。sessionStorage引入了一個「瀏覽器窗口」的概念,sessionStorage是在同源的窗口中始終存在的數據。只要這個瀏覽器窗口沒有關閉,即使刷新頁面或者進入同源另一個頁面,數據依然存在。但是sessionStorage在關閉了瀏覽器窗口後就會被銷毀。同時獨立的打開同一個窗口同一個頁面,sessionStorage也是不一樣的。localStorage和sessionStorage的存儲數據大小一般都是:5MBlocalStorage和sessionStorage都保存在客戶端,不與伺服器進行交互通信。localStorage和sessionStorage只能存儲字符串類型,對於複雜的對象可以使用ECMAScript提供的JSON對象的stringify和parse來處理。localStoragese:常用於長期登錄(+判斷用戶是否已登錄),適合長期保存在本地的數據。sessionStorage:敏感帳號一次性登錄;Web Storage帶來的好處:
一旦數據保存在本地之後,就可以避免再向伺服器請求數據,因此減少不必要的數據請求,減少數據在瀏覽器和伺服器間不必要的來回傳遞 。性能好,從本地讀數據比通過網絡從伺服器上獲得數據快得多,本地數據可以及時獲得,再加上網頁本身也可以有緩存,因此整個頁面和數據都在本地的話,可以立即顯示 。很多時候數據只需要在用戶瀏覽一組頁面期間使用,關閉窗口後數據就可以丟棄了,這種情況使用sessionStorage非常方便。注意:WebStorage這部分內容copy自網絡,原創不可考。眾籌請我喝杯咖啡吧