LocalStorage、SessionStorage、Cache-Control

LocalStorage方法:getItem()、setItem()、deleteItem() 

LocalStorage特点:

①LocalStorage 跟HTTP无关,HTTP不会带上LocalStorage的值。

②只有相同域名的页面才能互相读取LocalStorage(没有同源严格)。

③每个域名的LocalStorage最大存储量为10M左右。(浏览器有差异)。

④永久有效,除非用户清理缓存。

LocalStorage常用场景:记录有没有提示过用户某些通知,例如更新、出了什么新功能等(不能记录密码)



SessionStorage方法:getItem()、setItem()、deleteItem() 

SessionStorage(会话存储) 特点:

①②③跟LocalStorage相同,④用户关闭页面后SessionStorage失效。

⑤SessionStorage不支持多窗口共享。





HTTP缓存 - Cache-Control

在服务器响应头中设置Cache-Control后,在规定时间内访问相同URL时,请求被中断(请求没有发出去),浏览器直接从本地缓存中读取数据。例如:response.set-header('Cache-Control','max-age=30')

首页(HTML)不能设置Cache-Control,要预留一个通道,Cache-Control一般情况下设置一年。如果网页更新,可以更改url,让用户下载新的资源,如下图


Expires是旧版的HTTP缓存,用法:response.set-header('Expires','Wed, 21 Oct 2015 07:28:00 GMT'),跟上面的区别就是Cache-Control设置时间长度,Expires设置时间点(格林威治时间)。

Etag用法:response.set-header('Etag',MD5),请求时如果文件相同,只返回响应头,没有响应体。





Cookie与LocalStorage的区别: 

①每次访问服务器时,Cookie都会被带到服务器,而LocalStorage不会。

②Cookie的最大存储量大概为4k,LocalStorage为10M。

③Cookie默认关闭页面后失效,而LocalStorage永久有效。(不考虑人为因素)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我的生日礼物它是一个很特别的东西,是我的教练送给我的。我的教练姓谢,名叫谢再智,他是跆拳道国际黑带六段。他是个很好...
    梦想家佳阅读 432评论 0 1
  • 莉兹小姐姐,你今天真好看,好看得我想咬一口。 在我看来,莉兹是一个很有童心的人,在她笔下的小动物个个都逗趣可爱又萌...
    崔小草24阅读 973评论 2 4
  • 汉语作为现今世界上使用人数最多的文字语言,它形象、直观,读起来响亮清晰,婉转动听,有节奏感,有音乐美,是世界上最美...
    二井Leo阅读 420评论 0 1