首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当缓存中不存在资源清单时,Chrome从缓存中提供资源

当缓存中不存在资源清单时,Chrome从缓存中提供资源
EN

Stack Overflow用户
提问于 2012-04-21 00:05:32
回答 1查看 477关注 0票数 1

我正在使用HTML5缓存清单,我在Chrome中发现了一个非常奇怪的问题。下面是页面的页眉:

代码语言:javascript
复制
<html id="html" xmlns="http://www.w3.org/1999/xhtml" manifest="Portal/CacheManifestHandler.ashx">

以下是从fiddler捕获的清单内容:

代码语言:javascript
复制
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/cache-manifest; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Fri, 20 Apr 2012 15:56:20 GMT
Content-Length: 56

CACHE MANIFEST
NETWORK:
*
#Timestamp: 634705337615835020

我有一个特殊的脚本在页面的页眉内的标签,是在服务器上动态生成的。以下是用户首次访问该页面时为该脚本标记返回的内容:

代码语言:javascript
复制
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/javascript; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Fri, 20 Apr 2012 15:36:33 GMT
Content-Length: 74

document.location='/Portal/Login.aspx?ReturnUrl=%2fPortal%2fDefault.aspx';

您看不到脚本在Cache-manifest中,也看不到它的头允许浏览器(Chrome)缓存它。尽管如此,当我随后在浏览器中打开相同的页面时,Chrome会从cache-manifest加载该页面,这是可以的。然而,令人惊讶的是,它也是从缓存中加载的。我可以验证它,因为我的服务器断点没有命中,Fiddler也没有显示对此的请求。网络没有关闭,服务器可以访问(这不应该有什么不同,因为Chrome被要求无论如何都不要缓存它)。

这是预期的行为吗?Chrome不应该再次从服务器请求,即使它的包含页面是从清单缓存中加载的。

chrome的chrome://appcache-internals也只在缓存中显示了两个urls,这同样是好的,为什么它会从缓存而不是服务器加载

EN

回答 1

Stack Overflow用户

发布于 2012-09-28 22:16:52

我们遇到了同样的问题,我们的解决方案是在app.manifest的网络部分加上一个*,这样我们的网络部分看起来就像

网络:*

我现在正在挖掘,看看这是否真的是谷歌的“设计”,还是完全错误的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10249635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档