根据documentation,我应该能够在调用此[serve]方法之前或之后附加自定义标头。"
我像这样服务我的blobstore jpeg。
import com.google.appengine.api.blobstore.BlobstoreService;
class MyServlet extends javax.servlet.http.HttpServlet {
@Override
public void doAction(...) {
...
response.setHeader("Cache-Control", "max-age=100000000000");
response.setDateHeader("Expires", System.currentTimeMillis() + 100000000000);
blobstoreService.serve(myBlobKey, response);
}
}
然后当我curl -i http://url-serving-my-blob-here
时,我得到了正确的图像,但是以下标题:
cache-control:no-cache, must-revalidate
expires:Fri, 01 Jan 1990 00:00:00 GMT
我的标题出现了什么想法?
答案 0 :(得分:0)
它对我来说只是你实现它的方式。尝试在缓存控制上设置public
。
顺便说一下,if you want Google's edge cache to cache it,您必须设置public
并且max-age
少于365天。此外,Expires
似乎没有帮助。
setHeader("Cache-Control", "public, max-age="+300*24*60*60); // 300 days