我正在为缓存清除生成动态CSS URL。即他们的格式是styles-thisisthecontenthash123.css
。
我还想使用HTTP链接头来加快文件加载速度。即有标头Link: <styles-thisisthecontenthash123.css>; rel=stylesheet
我很确定在快速使用VCL时可以做到这一点,但我对生态系统不太熟悉,无法弄明白。 CSS URL位于index.html
中,它被缓存。我想我可以打开index.html
并使用正则表达式来解析CSS URL。我该怎么做?
如果我正确理解你的问题,你想要为link
的所有请求包含一个index.html
标题。你可以使用Fastly来做到这一点,但是如果CSS文件的URL正在改变,你将无法用VCL提取该信息(你无法检查响应体)。
你可以使用edge dictionaries,每当你的CSS文件名改变时,通过API更新引用。
事情是,如果你要在文件发生变化时进行API调用,也可以保持文件名一致(styles.css
),每当你发布新版本时发送一个cache invalidation(清除)。快速清除缓存大约150ms,所以你要做的就是添加标题,这可以在带有condition的Fastly Web门户中完成。