在瀏覽器中的儲存方式有以下幾種:
這幾種儲存方式使用在不同的場景裡,相互之間也有很多的區別。
cookie是伺服器傳送到使用者瀏覽器並儲存在本地的一小塊資料。cookie
一般由後端設定,並通過response
流傳送給前端並設定過期時間。
在過期之前,cookie
會一直儲存在瀏覽器中,並且每次傳送http請求時都會攜帶在http請求頭中。
cookie的限制:
localstorage
生命週期是永久的,所以除非使用者自己手動清除,否則就會一直儲存在使用者的瀏覽器中。
localstotage
以鍵值對(key-value)的形式儲存資料,可以儲存陣列、數字、物件等可以被序列化為字串的資料。
sessionstorage
操作的方法與localstorage
是一樣的,區別在於sessionstorage
在頁面關閉後資料就會被清除,而localstorage
則會一直儲存。
重新整理頁面的時候sessionstorage
不會被清除,但是開啟同域新頁面的時候不會訪問到資料。
indexdb
是一種使用瀏覽器儲存大量資料的方法,它創造的資料可以被查詢,並且可以離線使用。有以下幾個特性:
1、cookie只有4k,遠小於其他幾種方式,indexdb最大
2、cookie參與與伺服器通訊,而其他幾種方式不參與
3、cookie的宣告週期一般由伺服器決定,超過時間則被清除;localstorage除非手動清除,否則一直存在;sessionstorage是頁面被關閉就會被清除;indexdb也是只能通過手動操作才能被清除
4、cookie需要注意安全性
service worker
是執行在瀏覽器背後的獨立執行緒,可以理解為乙個介於客戶端和伺服器之間的乙個**伺服器。在service worker一般做以下操作:攔截客戶端的請求、向客戶端傳送訊息、向伺服器發起請求,但最主要的用途之一是離線快取資源。
service worker實現快取功能一般分為三個步驟:註冊service worker,監聽install
事件,快取需要的檔案。在下次使用者訪問的時候會攔截請求的方式查詢是否存在快取,如果存在就在快取中讀取快取檔案,如果不存在就會發起請求,然後在讀取資料。
前端面試之跨域問題
同源策略是一種約定。同源是指 協議 網域名稱 埠 三者相同,就算兩個不同的網域名稱指向同乙個ip位址,也不屬於同源。同源策略限制以下幾種行為 為什麼要使用同源策略?同源策略主要是來防止csrf攻擊的,csrf攻擊是指利用使用者的登陸狀態發起惡意請求。但是同源策略並不能完全防止csrf。跨域是指瀏覽器...
前端面試問題
1 對mvc的理解 簡單來說,mvc是一種流行的程式架構。mvc是 模型 model 檢視 view 控制器 control 的英文首字母的縮寫,核心思想是 檢視和使用者互動 通過事件導致控制器改變 控制器改變導致模型改變 或者控制器同時改變兩者 模型改變 導致檢視改變 或者檢視改變 潛在的從模型裡...
前端 面試問題
二.傳輸方式的分類 三.分組交換協議 四.tcp ip 參考模型。五.get 和 post 的區別 六.webpack 作業系統通過時間片輪轉機制,在多個程式之間進行切換,合理排程。這種方式叫做多任務排程。1.1分組交換協議 分組交換就是將大資料分裝成乙個個小包發給對方。1.2 各個分層的作用 傳輸...