1. Cookie 和 Session 的區(qū)別鸣戴?
- 內(nèi)容及給予方式不同: cookie是服務(wù)器通過 Set-Cookie頭給客戶端的一串字符串啃沪。sessionID是瀏覽器通過 cookie 發(fā)送給客戶端的一段隨機(jī)數(shù)(安全性好)
- 存儲(chǔ)位置不同:cookie 存儲(chǔ)在客戶端的硬盤中,每次訪問相同域名的網(wǎng)頁時(shí)就帶上這個(gè)字符串窄锅。session 保存在服務(wù)器端创千,客戶端訪問服務(wù)器時(shí),服務(wù)器讀取sessionID入偷,服務(wù)器端所有 session 存在于一處
- 大小不同:cookie 大小在4kb 左右追驴,session 大小沒有限制
- 存儲(chǔ)內(nèi)容:cookie 只能保存字符串,以文本的方式疏之。session 能支持任何類型的對(duì)象
2. Cookie 和 LocalStorage 的區(qū)別殿雪?
- HTTP: cookie 依賴 HTTP協(xié)議,而 localstorage 與 HTTP 無關(guān)锋爪,HTTP 不會(huì)帶上 localstorage 的值
- 大小不同:cookie 在4KB 左右丙曙,localstorage 在5M 左右(每個(gè)瀏覽器不一樣)
- 有效期不同:Cookie 默認(rèn)在用戶關(guān)閉頁面后就失效,后臺(tái)代碼可以任意設(shè)置 Cookie 的過期時(shí)間其骄。localstorage 永久有效亏镰,除非用戶清理緩存。
3. LocalStorage 和 SessionStorage 的區(qū)別拯爽?
- 兩者大體相同索抓,只是在關(guān)閉頁面時(shí)體現(xiàn)不同處:localStorage 在頁面關(guān)閉時(shí)不會(huì)丟失,sessionStorage在關(guān)閉頁面時(shí)會(huì)丟失。
4. Cookie 如何設(shè)置過期時(shí)間逼肯?如何刪除 Cookie耸黑?
設(shè)置 cookie 過期時(shí)間:
//指定cookie保存時(shí)間
Response.Cookies("user_name").Expires=Date+1 '
//保留COOKIES一個(gè)小時(shí)
Response.Cookies("MyCookie").Expires= (now()+1/24)
Response.Cookies("MyCookie").Expires = DateAdd("h", 1, Now())
刪除 cookie:
document.cookie = ''
5. Cache-Control: max-age=1000 緩存 與 ETag 的「緩存」有什么區(qū)別?
區(qū)別在于:cache-control的max-age=1000是指在1000秒以內(nèi)汉矿,客戶端不能向指定域名發(fā)送請(qǐng)求獲取數(shù)據(jù)崎坊,而應(yīng)該在內(nèi)存中取數(shù)據(jù)。ETag是可以先請(qǐng)求洲拇,但不許下載奈揍,響應(yīng)體是空的