From 984c74b63f0e52ce11f97cbdfaa240fc7dc4edfb Mon Sep 17 00:00:00 2001 From: Knut Forkalsrud Date: Sun, 8 Nov 2009 11:24:59 -0800 Subject: [PATCH] Adding "Expires" headers to improve caching client side. --- src/org/forkalsrud/album/web/AlbumServlet.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/org/forkalsrud/album/web/AlbumServlet.java b/src/org/forkalsrud/album/web/AlbumServlet.java index afb6f1c..4c02042 100644 --- a/src/org/forkalsrud/album/web/AlbumServlet.java +++ b/src/org/forkalsrud/album/web/AlbumServlet.java @@ -69,7 +69,7 @@ public class AlbumServlet if (pathInfo != null && pathInfo.startsWith(basePrefix)) { pathInfo = pathInfo.substring(basePrefix.length()); } else { - res.sendError(HttpServletResponse.SC_NOT_FOUND); + res.sendError(HttpServletResponse.SC_NOT_FOUND, "pathinfo=" + pathInfo); return; } @@ -153,12 +153,14 @@ public class AlbumServlet if (notModified(req, file)) { res.setStatus(HttpServletResponse.SC_NOT_MODIFIED); + res.setDateHeader("Expires", System.currentTimeMillis() + (30 * 24 * 3600 * 1000)); // 30 days System.out.println(file.getName() + " not modified (based on date)"); return; } String fileEtag = thumbnail.getEtag() + "-" + size; if (etagMatches(req, fileEtag)) { res.setStatus(HttpServletResponse.SC_NOT_MODIFIED); + res.setDateHeader("Expires", System.currentTimeMillis() + (30 * 24 * 3600 * 1000)); // 30 days System.out.println(file.getName() + " not modified (based on etag)"); return; } @@ -195,6 +197,7 @@ public class AlbumServlet res.setStatus(HttpServletResponse.SC_OK); res.setDateHeader("Last-Modified", file.lastModified()); res.setHeader("ETag", fileEtag); + res.setDateHeader("Expires", System.currentTimeMillis() + (30 * 24 * 3600 * 1000)); // 30 days res.setContentType(cimg.mimeType); res.setContentLength(cimg.bits.length); res.getOutputStream().write(cimg.bits);