浏览器会根据返回头cache-control做相应的缓存:单页面第一次请求main.js,可能有好几兆的大小,要花点时间;刷新页面,同样的请求main.js,浏览器会将上次请求main.js的返回头部信息,last-modified,etag等判断文件是否修改的标识给服务器,服务器返回的头部信息一致,表示该文件并未修改,那浏览器就不需要从服务器拉资源,从缓存中拿就好,自然快很多。这其中主要受cache-control控制,有强制缓存,一定时间不访问服务器直接从disk-cache中获取,此时code为200;有协商缓存,就上上面说那种,会返回304,指向缓存。还有不缓存,就什么都不问,直接从服务器从新获取。随便找个网站,f12打开瞅瞅就明白了,看看code和size(disk cache或者memory就是缓存里获取的)的值。
浏览器会根据返回头cache-control做相应的缓存:
单页面第一次请求main.js,可能有好几兆的大小,要花点时间;
刷新页面,同样的请求main.js,浏览器会将上次请求main.js的返回头部信息,last-modified,etag等判断文件是否修改的标识给服务器,服务器返回的头部信息一致,表示该文件并未修改,那浏览器就不需要从服务器拉资源,从缓存中拿就好,自然快很多。
这其中主要受cache-control控制,有强制缓存,一定时间不访问服务器直接从disk-cache中获取,此时code为200;有协商缓存,就上上面说那种,会返回304,指向缓存。还有不缓存,就什么都不问,直接从服务器从新获取。
随便找个网站,f12打开瞅瞅就明白了,看看code和size(disk cache或者memory就是缓存里获取的)的值。