首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Java使用GAE设置web缓存?

如何使用Java使用GAE设置web缓存?
EN

Stack Overflow用户
提问于 2016-01-13 07:03:17
回答 1查看 98关注 0票数 1

我一直试图找出我可以在哪里设置我的网站,我的网站,我托管的GAE,但我找不到他们的文档的信息,谷歌也没有任何结果。我读过很多关于缓存的文章,但我找到的所有结果或代码示例都在使用Apache。

有文件链接吗?或者仅仅是关于我实际在哪里编写缓存设置的一般信息?也许在appengine-web.xml的某个地方?

谢谢。如有任何信息或文档,将不胜感激。

编辑:我在appengine-web.xml中尝试过类似的东西,但当我用Chrome工具进行测试时,它似乎并没有缓存任何东西-

代码语言:javascript
复制
<static-files>
    <include path="/**.png" expiration="7d" />
    <include path="/**.jpg" expiration="7d" />
    <include path="/**.ico" expiration="7d" />
    <include path="/**.js" expiration="7d" />
    <include path="/**.svg" expiration="7d" />
    <include path="/**.ttf" expiration="7d" />
    <include path="/**.woff" expiration="7d" />
    <include path="/**.css" />
</static-files>

同样,当我添加这样的一个静态文件时:

代码语言:javascript
复制
<static-files>
    <include path="/img/top_img.jpg" expiration="4d 5h" />
</static-files>

我收到大量错误,说我需要将everything包含在我的静态文件列表中,如- WARNING: Can not serve /paypal_button.svg directly. You need to include it in <static-files> in your appengine-web.xml.

编辑:这里是curl -v日志-

代码语言:javascript
复制
< HTTP/1.1 200 OK
< Content-Length: 61009
< Content-Type: text/html
< Last-Modified: Wed, 13 Jan 2016 06:19:21 GMT
< Cache-Control: public, max-age=600
< Server: Development/1.0
< Date: Wed, 13 Jan 2016 07:33:39 GMT

所以缓存是启用的。但我不知道如何使用GAE更改各个静态文件的过期日期。

编辑:当我使用以下代码在prod服务器上测试时:

代码语言:javascript
复制
<static-files>
    <include path="/**.png" expiration="999d" />
</static-files>

没有我的资源负载,我得到了以下错误:

代码语言:javascript
复制
Failed to load resource: the server responded with a status of 404 (Not Found)

所有不是.png的东西

EN

回答 1

Stack Overflow用户

发布于 2016-01-14 03:22:19

好吧,在经历了很多烦恼之后,我才能让它正常工作。基本上,在appengine-web.xml中,一旦您将、one作为<static-file>列出,您就必须列出您所拥有的每个文件类型,否则它将不知道它是否是静态的。所以我能做到-

代码语言:javascript
复制
<static-files>
    <include path="/**.png" expiration="365d" />
    <include path="/**.svg" expiration="365d" />
    <include path="/**.jpg" expiration="365d" />
    <include path="/**.zip" expiration="365d" />
    <include path="/**.pdf" expiration="365d" />
    <include path="/**.hex" expiration="365d" />
    <include path="/**.js" expiration="365d" />
    <include path="/**.js.map" expiration="365d" />
    <include path="/**.ttf" expiration="365d" />
    <include path="/**.gif" expiration="365d" />
    <include path="/**.woff" expiration="365d" />
    <include path="/**.css" expiration="365d" />
    <include path="/**.html" expiration="1d"/>
</static-files>

现在所有的http-头看起来都是正确的。只需确保包含您在网站上的每一个文件类型/文件,否则它将不会加载该资源。

干杯。

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

https://stackoverflow.com/questions/34760329

复制
相关文章

相似问题

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