要保证网络服务器上托管的单页应用程序 (SPA) 在发布该应用程序的新版本后不会被缓存,应仔细检查该应用程序实际获取的实体请求的方式。
但问题是 SPA 也包含 html,虽然现在你可以看到静态页面只有 html 一样短,带有正文和两个链接 - 一个用于 css,一个用于 javascript,但我们仍然需要使该页面的缓存无效也是如此。
最简单的方法是通过 meta 添加相关的 http header 标签(如 Pragma: no-cache、Pragma: no-store 等)。正如上面提供的链接中的答案之一所述,这种方法有效,尽管并不理想。
我担心的是 - 我们是否保证在所有浏览器中都可以在非缓存页面上获取缓存资源?换句话说,如果我的 html 页面没有缓存,这会影响脚本和链接的实际缓存方式吗?
最佳答案
要回答“从非缓存页面请求的资源仍然能够来自缓存吗?”的问题,您的 HTML 页面缓存设置(无论是通过服务器标题、元标记还是 IIS/htaccess 完成)绝对没有与如何请求/提供链接资源有关。如果您设置从缓存中检索 Javascript、CSS 和图像,浏览器将单独查看它们,而不是将页面的缓存控制应用于它们。可能有一些不起眼的一次性浏览器会搞砸这一点,但在主要浏览器上通常不会出现这种情况
关于html - html 页面上的任何元标记是否会影响获取脚本、链接和任何其他资源的缓存策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28112549/