我正在使用同一服务器上的Fetch API检索数据。我同时提取JSON数据和SVG文件(使用img
标签)。这两个请求都返回HTTP标头Last-Modified
,以允许浏览器缓存内容。这两个请求也成功缓存了资源。我正在使用 ChromeCacheView 软件工具对此进行验证。这意味着在后续请求中,浏览器也会发送If-Modified-Since
标头。
现在的事情是,即使两个请求的请求中都包含If-Modified-Since
标头,JSON数据仍是从缓存中提供的,而不是SVG文件。我测试了三种情况:
页面刷新-加载SVG和JSON数据且SVG位于视图中时,因为它们已覆盖在地图上
页面刷新-加载SVG和JSON数据并且视图中SVG为 NOT 时,因为它们被覆盖在地图上
在新标签页上加载页面-新会话
与HTTP缓存相关的标头仅包含Cache-Control: public, must-revalidate
,当然也包含Modified-Since
。不幸的是,我现在没有示例代码可以重现此代码,但是如果您对此有任何想法,还可以吗?