回覆列表
  • 1 # 網路圈

    瞭解HTML5的朋友們應該都知道它較HTML4有很多改進,也新增了很多特性,而本地儲存Local Storage就是其中一種。但是目前不少網站使用Local Storage技術的並不多,應用不是太廣泛。

    什麼是Local Storage?

    Local Storage作為HTML5的本地儲存方案,它適合做一些離線資料的儲存,在Local Storage之前如果要本地儲存大家選擇的就是Cookie,而Cookie儲存資料容量很小(4K左右),而且Cookie會作為請求頭的一部分傳遞到伺服器端,所以Cookie太多的話會影響請求速度的!

    而Local Storage本地儲存和Cookie不同,它可以儲存大量資料(5M左右),所以對於較大的資料建議大家使用Local Storage來儲存。

    Local Storage的優點

    Local Storage本地儲存具有很多優點,最主要的有:

    1、儲存容量大

    與Cookie相比,雖然Local Storage不同瀏覽器的支援程度不同,一般情況下它可以儲存5M左右的資料。

    2、在客戶端儲存不會影響伺服器端

    Local Storage儲存在客戶端瀏覽器中,與Cookie不同的是它不會和伺服器端進行通訊。

    3、遵循同源策略,安全性高

    它也有同源策略,不同站點是無法共用Local Storage的,所以安全性還行。

    4、永久性儲存,無過期時間

    和Cookie不同的是,Local Storage資料是永久性儲存的,只要使用者不主動清理是不會過期的,儲存時間長。

    為什麼靜態資源不適合儲存在Local Storage中?

    如上面所說,Local Storage有那麼多的優點,那在現實開發中為什麼沒有人把CSS和JS這類檔案儲存到Local Storage中呢?其實也就是Local Storage的特性使得它不適合儲存文件內容,為啥呢?我總結的原因主要是:

    1、Local Storage是儲存在硬碟上的,大檔案I/O操作效能並不好

    我們說Local Storage裡儲存的都是字串型別的資料,如果儲存的內容過多則記憶體空間消耗較大,頁面容易卡頓。

    2、瀏覽器支援程度不同

    不同瀏覽器對於Local Storage的支援程度不同,如果還要對不同瀏覽器做相容處理,那代價就大了。

    3、客戶端儲存並不可靠

    如果把CSS/JS等靜態資源儲存在客戶端,那意味著使用者可以隨意修改Local Storage的內容,萬一使用者把它清空了那頁面顯示就會出問題。

    4、客戶端資料更新是個問題

    如果把靜態資源存入本地儲存中,萬一這些靜態資源更新了,那客戶端無法有效的更新,這個問題就很嚴重!

    5、使用者體驗差

    如果將靜態資源存入Local Storage中,那我們在文件載入後利用JS來讀取Local Storage中的CSS或者JS,然後再重新填充到頁面中,這樣會阻塞一些請求同時頁面顯示體驗差。

  • 中秋節和大豐收的關聯?
  • 分析現代人力資源開發的五個環節及其相互關係?並談談如何搞好人力資源管理?