html 页面上的任何元标记是否会影响用于获取脚本、链接和任何其他资源的缓存策略?
Does any meta tag on html page can affect caching policies for fetching scripts, links and any other resources?
要授予托管在 web-server 上的 single-page 应用程序 (SPA) 在发布该应用程序的新版本后不会被缓存,应该仔细检查该应用程序请求的实体是如何实际获取的。
但问题是 SPA 也包括 html,尽管现在您可以看到短至 html 和 body 以及两个 link 的静态页面s - 一个用于 css,一个用于 javascript,我们还需要使该页面的缓存失效。
最简单的方法是通过 meta 标签添加相关的 http headers(如 Pragma: no-cache、Pragma: no-store 等)。正如上面提供的 link 中的一个答案所述,这种方法有效,尽管它并不理想。
我担心的是 - 我们能否保证在所有浏览器中都可以在 non-cached 页面上获取缓存资源?换句话说,如果我的 html 页面没有被缓存,这会影响脚本和包含的 link 的实际缓存方式吗?
要回答问题 "Will resources requested from a non-cached page still be able to come from cache?",您的 HTML 页面缓存设置(无论是通过服务器标题、元标记还是 IIS/htaccess 完成)与链接资源的方式完全无关requested/served。如果您设置 Javascript、CSS 和要从缓存中检索的图像,浏览器将单独查看它们,而不是将页面的 cache-control 应用于它们。可能有一些晦涩难懂的 one-off 浏览器搞砸了,但在主要浏览器上通常不是这样
要授予托管在 web-server 上的 single-page 应用程序 (SPA) 在发布该应用程序的新版本后不会被缓存,应该仔细检查该应用程序请求的实体是如何实际获取的。
但问题是 SPA 也包括 html,尽管现在您可以看到短至 html 和 body 以及两个 link 的静态页面s - 一个用于 css,一个用于 javascript,我们还需要使该页面的缓存失效。
最简单的方法是通过 meta 标签添加相关的 http headers(如 Pragma: no-cache、Pragma: no-store 等)。正如上面提供的 link 中的一个答案所述,这种方法有效,尽管它并不理想。
我担心的是 - 我们能否保证在所有浏览器中都可以在 non-cached 页面上获取缓存资源?换句话说,如果我的 html 页面没有被缓存,这会影响脚本和包含的 link 的实际缓存方式吗?
要回答问题 "Will resources requested from a non-cached page still be able to come from cache?",您的 HTML 页面缓存设置(无论是通过服务器标题、元标记还是 IIS/htaccess 完成)与链接资源的方式完全无关requested/served。如果您设置 Javascript、CSS 和要从缓存中检索的图像,浏览器将单独查看它们,而不是将页面的 cache-control 应用于它们。可能有一些晦涩难懂的 one-off 浏览器搞砸了,但在主要浏览器上通常不是这样