[
https://issues.apache.org/jira/browse/HTTPCLIENT-965?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jonathan Moore updated HTTPCLIENT-965:
--------------------------------------
Attachment: must-revalidate.patch
The provided patch fixes this issue by adding 'max-age=0' to revalidations for
these directives and generating a 504 if there is an IOException when
attempting to revalidate a stale entry.
There is a related issue:
https://issues.apache.org/jira/browse/HTTPCLIENT-962
where it is not currently clear if the cache is a shared cache or not. The
conservative assumption here is that we are a
shared cache, and hence must-revalidate and proxy-revalidate are essentially
the same.
However, the unit tests for proxy-revalidate in TestProtocolRequirements are
conditional on whether the CachingHttpClient claims to be a shared cache or not.
This patch is contributed to the ASF with the permission of my employer.
> cache does not honor must-revalidate or proxy-revalidate Cache-Control
> directives
> ---------------------------------------------------------------------------------
>
> Key: HTTPCLIENT-965
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-965
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: Cache
> Affects Versions: 4.1 Alpha2
> Reporter: Jonathan Moore
> Attachments: must-revalidate.patch
>
>
> http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.4
> There are a couple of missed requirements here regarding must-revalidate and
> proxy-revalidate (which applies only to shared caches).
> 1. When a cache entry with this directive is revalidated, it must be an
> end-to-end revalidation (meaning it must include 'max-age=0' on the request).
> 2. If the revalidation with the origin fails, the cache MUST NOT return a
> stale entry and MUST return a 504 response.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]