You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Jon Moore (JIRA)" <ji...@apache.org> on 2013/05/30 13:04:20 UTC
[jira] [Commented] (HTTPCLIENT-1361) stale-while-revalidate should
work also without last-modified nor etag
[ https://issues.apache.org/jira/browse/HTTPCLIENT-1361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13670242#comment-13670242 ]
Jon Moore commented on HTTPCLIENT-1361:
---------------------------------------
Validation is defined in RFC2616:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.3
Specifically, this refers to issuing a conditional request using a cache validator to check on the validity of a (stale) cache entry. RFC2616 only identifies Last-Modified and Etag as cache validators. For a response that doesn't have either of these headers, there's technically no way for the cache to _update_ its entry; it must discard it and _replace_ it with the result of a (blocking) unconditional response.
I'm undecided on this change: on the one hand, I don't think the relevant RFCs allow this according to a strict reading, because the resulting asynchronous requests wouldn't technically be validations. On the other hand, this change is clearly in-line with the spirit of stale-while-revalidate and has clear utility.
Let me talk to Mark Nottingham, who authored the stale-while-revalidate RFC--we can just get clarification on his intent!
In any event, I think this should be marked as an Improvement rather than as a Bug.
> stale-while-revalidate should work also without last-modified nor etag
> ----------------------------------------------------------------------
>
> Key: HTTPCLIENT-1361
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1361
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: Cache
> Affects Versions: 4.3 Beta1
> Reporter: Francois-Xavier Bonnet
> Priority: Minor
>
> Currently stale-while-revalidate mechanism works only if the cache entry contains a last-modified or a etag header. It should work also for cache entries with expires or max-age.
> The specification is not very clear about what a revalidation is, but in the example there is no last-modified nor etag, only a cache-control: max-age
> http://tools.ietf.org/html/rfc5861
> If everybody agrees, I can work on a fix.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org