說一下幾種經常使用的前端緩存

1.Cookie前端

cookie是比較老的前端緩存技術了,它的特色是想要使用它前端必需要有服務(靜態網頁是不行的),並且存儲大小限制在4kb。那麼爲何必需要有服務才能使用cookie呢?由於只要有請求涉及cookie,cookie就要在服務器和瀏覽器之間來回傳送,並且因爲瀏覽器的跨域限制,客戶端和服務端必需要保證同源的原則(也就是跨域問題,詳情見個人其餘文章),因爲cookie是存放在前端的,因此安全問題一直是個大問題,所以通常重要的信息不建議放在cookie中存放。後端

2.Session
對於服務端的程序眼來講session你們確定很熟悉了,session是一種服務端的機制,也就是能把信息存放在服務端,因此安全能夠保障,它的原理是經過session id來識別客戶端,這個session id是存放在cookie中的(固然session id讓用戶看見沒無妨),服務端會經過session id來識別客戶端進行匹配和判斷。它和cookie對比起來差距就很明顯了,一個是把數據存在客戶端;一個存在服務端,從安全性考慮的話通常像用戶名密碼這種私密信息通常放在session中。
3.localStorage
它的特色就是「持久」,一旦經過保存,不經過手動清除的話,就會一直保存在前端,它的保存格式是鍵值對的方式也就是「key-value」的方式保存的,它的存儲空間大小限制在500萬字符左右,一下是它的一些使用方法:跨域

localStorage.length    得到storage中的個數
localStorage.key(n)    得到storage中第n個元素對的鍵值(第一個元素是0)
localStorage.getItem(key)    獲取鍵值key對應的值
localStorage.key    獲取鍵值key對應的值
localStorage.setItem(key, value)    添加數據,鍵值爲key,值爲value
localStorage.removeItem(key)    移除鍵值爲key的數據
localStorage.clear()    清除全部數據

4.sessionStorage
這個和localStorage有什麼區別呢?sessionStorage是一種會話級別的本地存儲,一旦關閉瀏覽器他就會消失,而前者是很「持久」的,即便你關閉一萬次瀏覽器也沒事,因此差距仍是很大的。後二者是H5纔有的特性,由於如今都是先後端分離的開發模式,前端工程師都很青睞這兩種前端緩存方式,如下是sessionStorage的記本用法:瀏覽器

sessionStorage.length    得到storage中的個數
sessionStorage.key(n)    得到storage中第n個元素對的鍵值(第一個元素是0)
sessionStorage.getItem(key)    獲取鍵值key對應的值
sessionStorage.key    獲取鍵值key對應的值
sessionStorage.setItem(key, value)    添加數據,鍵值爲key,值爲value
sessionStorage.removeItem(key)    移除鍵值爲key的數據
sessionStorage.clear()    清除全部數據
相關文章
相關標籤/搜索