From a9316ceff65a1d2d6c49e468c96cb627053a62bf Mon Sep 17 00:00:00 2001 From: Michael Peter Christen Date: Fri, 26 Aug 2016 14:51:32 +0200 Subject: [PATCH] force browser-caching of favicons from search results --- source/net/yacy/http/servlets/YaCyDefaultServlet.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/net/yacy/http/servlets/YaCyDefaultServlet.java b/source/net/yacy/http/servlets/YaCyDefaultServlet.java index 99f592b5f..1378667f5 100644 --- a/source/net/yacy/http/servlets/YaCyDefaultServlet.java +++ b/source/net/yacy/http/servlets/YaCyDefaultServlet.java @@ -916,6 +916,16 @@ public class YaCyDefaultServlet extends HttpServlet { result = RasterPlotter.exportImage(bi, targetExt); } + boolean staticImage = target.equals("/ViewImage.png"); + + if (staticImage) { + if (response.containsHeader(HeaderFramework.LAST_MODIFIED)) { + response.getHeaders(HeaderFramework.LAST_MODIFIED).clear(); // if this field is present, the reload-time is a 10% fraction of ttl and other caching headers do not work + } + + // cache-control: allow shared caching (i.e. proxies) and set expires age for cache + response.setHeader(HeaderFramework.CACHE_CONTROL, "public, max-age=" + Integer.toString(600)); // seconds; ten minutes + } final String mimeType = Classification.ext2mime(targetExt, MimeTypes.Type.TEXT_HTML.asString()); response.setContentType(mimeType); response.setContentLength(result.length());