我正在尝试优化Google应用引擎上的页面服务时间,但我正在努力获得我想要的效果。
在我的app.yaml中,我使用了以下指令:
handlers:
- url: /assets
static_dir: assets
expiration: 7d
在资产文件夹下,我有我的所有图像,css和js。通过使用7d到期,我本来希望浏览器使用本地缓存文件,而不是来我的应用程序7天。
虽然,在我的资产的响应标题中,我得到以下内容:
Cache-Control:public, max-age=604800
Cache-Control:no-cache, must-revalidate
我理解使用这些标头,浏览器会在发布缓存版本之前检查我的应用程序是否已更改文件。 (我可以有效地看到一堆304对应于资产文件夹下的文件,用于刷新和简单页面加载)。
Google应用引擎中是否有办法配置缓存行为,以便浏览器不会为7d的那些文件(在简单的页面加载时)恢复,如过期时所指定的那样? (即从缓存控制头中删除“no-cache”)
P.S。我不想在我的应用上启用PageSpeed。我希望完全控制所服务的HTML。
答案 0 :(得分:3)
您是否有机会以管理员帐户登录? AppEngine为管理员添加了一些private headers about the costs并禁用了缓存,因为该数据是私有的。退出解决了我的问题。
答案 1 :(得分:0)
我没有使用expiration指令,GAE发送以下内容作为默认缓存设置:
缓存控制:public,max-age = 600
您可以尝试删除过期时间:7d并查看GAE是否只发送1个Cache-Control标头?
答案 2 :(得分:0)
如何在浏览器中加载页面可能与此相关: