填坑-十萬個爲何?(7)

簡介:不少概念不清或忘記,從新構建本身的知識體系。天天問本身1~多個問題。我是菜鳥 成爲大神之路!html

1. 瀏覽器有哪些存儲方式?

2. Cookie 和 Session的機制?

(1)Cookie機制:link👁web

  • ①若是不在瀏覽器中設置過時時間,cookie被保存在內存中,生命週期隨瀏覽器的關閉而結束,這種cookie簡稱會話cookie
  • ②若是在瀏覽器中設置了cookie的過時時間,cookie被保存在硬盤中,關閉瀏覽器後,cookie數據仍然存在,直到過時時間結束才消失,這種cookie簡稱久性 cookie

cookie是服務器發給客戶端的特殊信息,cookie是以文本的方式保存在客戶端,每次請求時都帶上它數據庫

(2)Session機制: 當服務器收到請求須要建立session對象時,首先會檢查客戶端請求中是否包含sessionid。若是有sessionid,服務器將根據該id返回對應session對象。若是客戶端請求中沒有sessionid,服務器會建立新的session對象,並把sessionid在本次響應中返回給客戶端。一般使用cookie方式存儲sessionid到客戶端,在交互中瀏覽器按照規則將sessionid發送給服務器。若是用戶禁用cookie,則要使用URL重寫,能夠經過response.encodeURL(url) 進行實現;API對encodeURL的結束爲,當瀏覽器支持Cookie時,url不作任何處理;當瀏覽器不支持Cookie的時候,將會重寫URLSessionID拼接到訪問地址後。瀏覽器

3. 什麼是久性cookie,會話cookie?

在 2 問服務器

①使用Cookie

4. 什麼是Web Storage?

  • Web Storage存儲機制是對HTML4中cookie存儲機制的一個改善。因爲cookie存儲機制有不少缺點,HTML5再也不使用它,轉而使用改良後的Web Storage存儲機制。
  • 本地數據庫是HTML5中新增的一個功能,使用它能夠在客戶端本地創建一個數據庫,本來必須保存在服務器端數據庫中的內容如今能夠直接保存在客戶端本地了,這大大減輕了服務器端的負擔,同時也加快了訪問數據的速度。

咱們知道,在HTML4中可使用cookie在客戶端保存諸如用戶名等簡單的用戶信息,可是,經過長期的使用,你會發現,用cookie存儲永久數據存在如下幾個問題:cookie

  • 1.大小:cookie的大小被限制在4KB。
  • 2.帶寬:cookie是隨HTTP事務一塊兒被髮送的,所以會浪費一部分發送cookie時使用的帶寬。
  • 3.複雜性:要正確的操縱cookie是很困難的。

針對這些問題,在HTML5中,從新提供了一種在客戶端本地保存數據的功能,它就是Web Storage。session

Web Storage又分爲兩種:網站

①sessionStorage(相關性質見③)

將數據保存在session對象中。所謂session,是指用戶在瀏覽某個網站時,從進入網站到瀏覽器關閉所通過的這段時間,也就是用戶瀏覽這個網站所花費的時間。session對象能夠用來保存在這段時間內所要求保存的任何數據。url

②localStorage(相關性質見③)

將數據保存在客戶端本地的硬件設備(一般指硬盤,也能夠是其餘硬件設備)中,即便瀏覽器被關閉了,該數據仍然存在,下次打開瀏覽器訪問網站時仍然能夠繼續使用。spa

③cookie 、sessionStorage與localStorage的區別

這二者的區別在於,sessionStorage爲臨時保存,而localStorage爲永久保存。

特性

cookie

Window.sessionStorage

Window.localStorage

數據生命週期

   設置了maxAge值,在這個週期內有效;

   默認沒有設置,瀏覽器關閉時失效

存儲在 sessionStorage 裏面的數據在頁面會話結束時會被清除。而且從新加載或恢復頁面仍會保持原來的頁面會話

數據存儲在 localStorage 是無期限的,除非數據被清除不然一直存在

存放數據的大小

4096KB左右,一個域名能夠有20-50cookie(瀏覽器內核不一樣,標準也不一樣)

通常5MB或更大

與服務器通訊

每次請求服務器會攜帶在HTTP請求頭中

只有在使用數據時,請求使用數據,不參與和服務器通訊

語法

做用域

path 參數決定(同源策略)

同源策略

同源策略

API地址

www.runoob.com/js/js-cooki…

developer.mozilla.org/zh-CN/docs/…

developer.mozilla.org/zh-CN/docs/…

 

其他關於瀏覽器存儲的內容 見第 8 天

參考文章
www.cnblogs.com/pengc/p/871…

相關文章
相關標籤/搜索