Http缓存
理解本章节内容,你可能需要参考Filter/缓存支持。
网站开启缓存和RequestHandler
开启缓存是一样的方法,需要实现Last-Modified
接口或者ETag
接口:
public class MyWebsit implement Website, LastModified, ETag {
public void handle(HttpRequest request, HttpResponse response, HttpContext context)
throws HttpException, IOException {
// ...
}
@Ovrride
public long getLastModified(HttpRequest request) throws HttpException, IOException {
// ...
}
@Ovrride
public String getETag(HttpRequest request) throws HttpException, IOException {
// ...
}
}
这里具体的实现原理请参考Filter/缓存支持。
AndServer内部已经实现的网站
给AndServer的自带的网站缓存开启缓存,只需要在启动服务器的时候设置Filter
为HttpCacheFilter
。
HttpCacheFilter
内部已经实现了缓存过滤,所以只要使用HttpCacheFilter
作为过滤器,可以为AndServer内部已经实现的网站开启缓存,也可以支持RequestHandler
的缓存,但是需要RequestHandler
实现Last-Modified
接口或者ETag
接口。
Server server = AndServer.serverBuilder()
...
.filter(new HttpCacheFilter())
.build();
...