Web组件 - 内部浏览器缓存

时间:2014-06-24 15:10:27

标签: html caching browser-cache polymer web-component

http://www.polymer-project.org/docs/polymer/polymer.html上看Chrome的DevTools我注意到一些有趣,好奇和无法解释的事情:

  1. 浏览器缓存实际的Polymer组件,因此对组件的后续<link rel="import"调用不需要服务器往返。

  2. 浏览器将这些组件缓存为数据网址

  3. enter image description here

    enter image description here

    显然,这样做可以非常快速地加载缓存的组件(0毫秒延迟)

    enter image description here

    我的问题

    1. 如何控制组件的缓存,以便在需要时可以使缓存无效? (查看http://www.w3.org/TR/2014/WD-html-imports-20140311/的规范,我没有提到缓存)

    2. 是否值得将我的整个网站结构分解为Web组件(又名“小部件”),以便我的网站的各个部分快速加载?示例,我只是使用<my-nav>组件部署它,而不是总是使用相同的nav进行相同的布局,导航的数据(它有意义的地方)都包含在组件本身中,因此缓存后不需要与服务器交互。

1 个答案:

答案 0 :(得分:1)

最简单的方法是控制服务器上的缓存。您要么需要提供eTag,要么更改组件文件的日期并使用Last-Modified标头,要么每次更改文件名时都要更改文件名。

处理此问题的另一种方法是创建一个Service Worker and have that manage the caching of your files.