javax.servlet.Filter
@ManagedObject("Push cache based on the HTTP \'Referer\' header") public class PushCacheFilter extends java.lang.Object implements javax.servlet.Filter
A filter that builds a cache of secondary resources associated to primary resources.
A typical request for a primary resource such as index.html
is immediately followed by a number of requests for secondary resources.
Secondary resource requests will have a Referer
HTTP header
that points to index.html
, which is used to associate the secondary
resource to the primary resource.
Only secondary resources that are requested within a (small) time period from the request of the primary resource are associated with the primary resource.
This allows to build a cache of secondary resources associated with
primary resources. When a request for a primary resource arrives, associated
secondary resources are pushed to the client, unless the request carries
If-xxx
header that hint that the client has the resources in its
cache.
If the init param useQueryInKey is set, then the query string is used as as part of the key to identify a resource
Constructor | Description |
---|---|
PushCacheFilter() |
Modifier and Type | Method | Description |
---|---|---|
void |
clearPushCache() |
|
void |
destroy() |
|
void |
doFilter(javax.servlet.ServletRequest req,
javax.servlet.ServletResponse resp,
javax.servlet.FilterChain chain) |
|
java.util.Map<java.lang.String,java.lang.String> |
getPushCache() |
|
void |
init(javax.servlet.FilterConfig config) |
|
void |
renewPushCache() |
public void init(javax.servlet.FilterConfig config) throws javax.servlet.ServletException
init
in interface javax.servlet.Filter
javax.servlet.ServletException
public void doFilter(javax.servlet.ServletRequest req, javax.servlet.ServletResponse resp, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletException
doFilter
in interface javax.servlet.Filter
java.io.IOException
javax.servlet.ServletException
public void destroy()
destroy
in interface javax.servlet.Filter
@ManagedAttribute("The push cache contents") public java.util.Map<java.lang.String,java.lang.String> getPushCache()
@ManagedOperation(value="Renews the push cache contents", impact="ACTION") public void renewPushCache()
@ManagedOperation(value="Clears the push cache contents", impact="ACTION") public void clearPushCache()
Copyright © 1995–2017 Webtide. All rights reserved.