mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-19 00:01:41 +02:00
reduction of http requests to YaCy using the correct cache-control,
expires and last-modified headers in http response.
This commit is contained in:
parent
eca578a5fa
commit
c9c700b510
|
@ -480,6 +480,9 @@ public class YaCyDefaultServlet extends HttpServlet {
|
||||||
byte[] data = dir.getBytes("UTF-8");
|
byte[] data = dir.getBytes("UTF-8");
|
||||||
response.setContentType(TEXT_HTML_UTF_8.asString());
|
response.setContentType(TEXT_HTML_UTF_8.asString());
|
||||||
response.setContentLength(data.length);
|
response.setContentLength(data.length);
|
||||||
|
response.setHeader(HeaderFramework.CACHE_CONTROL, "no-cache");
|
||||||
|
response.setDateHeader(HeaderFramework.EXPIRES, System.currentTimeMillis() + 10000); // consider that directories are not modified that often
|
||||||
|
response.setDateHeader(HeaderFramework.LAST_MODIFIED, resource.lastModified());
|
||||||
response.getOutputStream().write(data);
|
response.getOutputStream().write(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -511,6 +514,9 @@ public class YaCyDefaultServlet extends HttpServlet {
|
||||||
out = new WriterOutputStream(response.getWriter());
|
out = new WriterOutputStream(response.getWriter());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
response.setDateHeader(HeaderFramework.EXPIRES, System.currentTimeMillis() + 600000); // expires ten minutes in the future
|
||||||
|
response.setDateHeader(HeaderFramework.LAST_MODIFIED, resource.lastModified());
|
||||||
|
|
||||||
if (reqRanges == null || !reqRanges.hasMoreElements() || content_length < 0) {
|
if (reqRanges == null || !reqRanges.hasMoreElements() || content_length < 0) {
|
||||||
// if there were no ranges, send entire entity
|
// if there were no ranges, send entire entity
|
||||||
if (include) {
|
if (include) {
|
||||||
|
@ -776,6 +782,17 @@ public class YaCyDefaultServlet extends HttpServlet {
|
||||||
File targetClass = rewriteClassFile(_resourceBase.addPath(target).getFile());
|
File targetClass = rewriteClassFile(_resourceBase.addPath(target).getFile());
|
||||||
String targetExt = target.substring(target.lastIndexOf('.') + 1);
|
String targetExt = target.substring(target.lastIndexOf('.') + 1);
|
||||||
|
|
||||||
|
long now = System.currentTimeMillis();
|
||||||
|
response.setDateHeader(HeaderFramework.LAST_MODIFIED, now);
|
||||||
|
if (target.endsWith(".css")) {
|
||||||
|
response.setDateHeader(HeaderFramework.EXPIRES, now + 4000); // expires in 4 seconds (which is still too often)
|
||||||
|
} else if (target.endsWith(".png")) {
|
||||||
|
response.setDateHeader(HeaderFramework.EXPIRES, now + 1000); // expires in 1 seconds (reduce heavy image creation load)
|
||||||
|
} else {
|
||||||
|
response.setDateHeader(HeaderFramework.EXPIRES, now); // expires now
|
||||||
|
response.setHeader(HeaderFramework.CACHE_CONTROL, "no-cache");
|
||||||
|
}
|
||||||
|
|
||||||
if ((targetClass != null)) {
|
if ((targetClass != null)) {
|
||||||
serverObjects args = new serverObjects();
|
serverObjects args = new serverObjects();
|
||||||
Enumeration<String> argNames = request.getParameterNames();
|
Enumeration<String> argNames = request.getParameterNames();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user