我有一个最简单的html页面,我在appache tomcat服务器上的spring应用程序上托管。 http://10.10.1.143:9999/abcApp/launch.lc。
<!DOCTYPE html>
<html manifest="http://10.10.1.143:9999/abcApp/EpubCachManifest.appcache">
<head>
<title>Listening For Cache Events From The Application Cach</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
</head>
<body>
ssds
</body>
</html>
当页面在Chrome浏览器上加载时,它会启动清单下载过程。我可以看到其他在线托管样本在控制台中加载消息
文档是从带有清单https://www.dartlang.org/samples/appcache/example/appcache.mf(索引)的应用程序缓存加载的:1应用程序缓存检查事件(索引):1应用程序缓存NoUpdate事件
但是我的html页面看起来似乎首先加载了缓存清单。我已经在清单文件的请求映射上放置了一个调试点来检查但是它似乎永远不会在服务器上找到清单文件。路径地点很好!
以下是来自浏览器的请求的requaet标头
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:1203
Content-Type:application/x-www-form-urlencoded
Cookie:JSESSIONID=949C3BFA5920987384D90FC8A7FAEE4E; MoodleSessionTest=sUALILX2fr; MoodleSession=da932a052a9294b402d2c3d8259831d1; MOODLEID1_=%25F2a6%2590IyYZx%2525t
Host:10.10.1.143:9999
Origin:http://10.10.1.143:7878
Referer:http://10.10.1.143:7878/mod/basiclti/launch.php?id=147
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36
和响应头:::
Cache-Control:public,max-age=3600
Content-Language:en-US
Content-Length:309
Content-Type:text/html;charset=UTF-8
Date:Thu, 19 Feb 2015 08:37:02 GMT
Server:Apache-Coyote/1.1
Set-Cookie:JSESSIONID=9C2E560FC1E7F12CBAE7EE471C855E09; Path=/loudbooks; HttpOnly
可能是我有一个愚蠢的小姐,但我为此疯狂。请帮助。
答案 0 :(得分:0)
响应头必须是“Cache-Control:public,max-age = 3600”才能首先启用缓存。 这也是一个突发事件,但任何开始使用应用程序缓存的人都应该首先阅读this。通过使用它实现了很多问题。最终成功实现了预期的结果。