常用缓存方式
MemoryCache内存中的缓存,主要包含当前页面中已经抓取到的资源,页面上已经下载的样式、脚本、图片等。读取内存中的数据肯定比磁盘快,内存缓存虽然读取速度快,但缓存持续性很短,会随着进程的释放而释放。
计算机中的内存容量必定比硬盘容量低,如果都将缓存放置在内存中,必然会造成电脑卡顿等问题。
DiskCache存储在硬盘中的缓存,读取速度慢,但胜在容量上,什么都能存储到磁盘中,有更高的内存时效性。
在所有浏览器缓存中,DiskCache覆盖面是最大的,它会根据HTTPHerder中的字段判断哪些资源需要缓存,哪些资源可以不请求直接使用。哪些资源应经过期需要重新请求。并且即使在跨站点的情况下,相同地址的资源一旦被硬盘缓存下来,就不会再次去请求。
强缓存
强缓存不会向服务器发送请求,直接从缓存中读取资源,在chrome控制台的Network选项中可以看到该请求返回的状态码,并且Size显示fromdiskcache或frommemorycache。强缓存可以通过设置两种HTTPHeadere实现:Expires和Cache-Control
1.Expires,缓存期间,用来指定资源到期的时间,是服务器端口的具体时间点。也就是说,Expires=max-age+请求时间,需要和Last-modified结合使用,Expires是Web服务器响应消息头子段,在响应