- All Implemented Interfaces:
- Direct Known Subclasses:
@Contract(threading=IMMUTABLE) public class DefaultConnectionReuseStrategy extends Object implements ConnectionReuseStrategyDefault implementation of a strategy deciding about connection re-use. The default implementation first checks some basics, for example whether the connection is still open or whether the end of the request entity can be determined without closing the connection. If these checks pass, the tokens in the
Connectionheader will be examined. In the absence of a
Connectionheader, the non-standard but commonly used
Proxy-Connectionheader takes it's role. A token
closeindicates that the connection cannot be reused. If there is no such token, a token
keep-aliveindicates that the connection should be re-used. If neither token is found, or if there are no
Connectionheaders, the default policy for the HTTP version is applied. Since
HTTP/1.1, connections are re-used by default. Up until
HTTP/1.0, connections are not re-used by default.
Constructors Constructor Description
All Methods Instance Methods Concrete Methods Modifier and Type Method Description
keepAlive(HttpResponse response, HttpContext context)Decides whether a connection can be kept open after a request.
public static final DefaultConnectionReuseStrategy INSTANCE
public boolean keepAlive(HttpResponse response, HttpContext context)Description copied from interface:
ConnectionReuseStrategyDecides whether a connection can be kept open after a request. If this method returns
false, the caller MUST close the connection to correctly comply with the HTTP protocol. If it returns
true, the caller SHOULD attempt to keep the connection open for reuse with another request.
One can use the HTTP context to retrieve additional objects that may be relevant for the keep-alive strategy: the actual HTTP connection, the original HTTP request, target host if known, number of times the connection has been reused already and so on.
If the connection is already closed,
falseis returned. The stale connection check MUST NOT be triggered by a connection reuse strategy.