簡介:不少概念不清或忘記,從新構建本身的知識體系。天天問本身1~多個問題。我是菜鳥 成爲大神之路!
html
(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
的時候,將會重寫URL
將SessionID
拼接到訪問地址後。瀏覽器
在 2 問服務器
咱們知道,在HTML4中可使用cookie在客戶端保存諸如用戶名等簡單的用戶信息,可是,經過長期的使用,你會發現,用cookie存儲永久數據存在如下幾個問題:cookie
針對這些問題,在HTML5中,從新提供了一種在客戶端本地保存數據的功能,它就是Web Storage。session
Web Storage又分爲兩種:網站
將數據保存在session對象中。所謂session,是指用戶在瀏覽某個網站時,從進入網站到瀏覽器關閉所通過的這段時間,也就是用戶瀏覽這個網站所花費的時間。session對象能夠用來保存在這段時間內所要求保存的任何數據。url
將數據保存在客戶端本地的硬件設備(一般指硬盤,也能夠是其餘硬件設備)中,即便瀏覽器被關閉了,該數據仍然存在,下次打開瀏覽器訪問網站時仍然能夠繼續使用。spa
這二者的區別在於,sessionStorage爲臨時保存,而localStorage爲永久保存。
特性 |
cookie |
Window.sessionStorage |
Window.localStorage |
數據生命週期 |
① 設置了maxAge值,在這個週期內有效; ② 默認沒有設置,瀏覽器關閉時失效 |
存儲在 sessionStorage 裏面的數據在頁面會話結束時會被清除。而且從新加載或恢復頁面仍會保持原來的頁面會話 |
數據存儲在 |
存放數據的大小 |
4096KB左右,一個域名能夠有20-50個cookie(瀏覽器內核不一樣,標準也不一樣) |
通常5MB或更大 |
|
與服務器通訊 |
每次請求服務器會攜帶在HTTP請求頭中 |
只有在使用數據時,請求使用數據,不參與和服務器通訊 |
|
語法 |
|
|
|
做用域 |
path 參數決定(同源策略) |
同源策略 |
同源策略 |
API地址 |
|
|
|
其他關於瀏覽器存儲的內容 見第 8 天
參考文章
① www.cnblogs.com/pengc/p/871…