Web组件 - 内部浏览器缓存

rod*_*ira 12 html caching browser-cache web-component polymer

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

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

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

在此输入图像描述

在此输入图像描述

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

在此输入图像描述

我的问题

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

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

Int*_*lia 1

控制服务器上的缓存是最简单的。您需要提供电子标签、更改组件文件的日期并使用Last-Modified标头,或者在每次更改文件时更改文件名。

处理此问题的另一种方法是创建一个Service Worker 并让它管理文件的缓存。