hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jon Moore (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HTTPCLIENT-1515) Caching responses to HEAD requests
Date Wed, 15 Oct 2014 19:36:34 GMT

    [ https://issues.apache.org/jira/browse/HTTPCLIENT-1515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14172829#comment-14172829
] 

Jon Moore commented on HTTPCLIENT-1515:
---------------------------------------

Sorry I haven't been able to look at this in detail (long story).

First: I do think the 5.0 release probably ought to revisit the current cache system design.
There are enough issues with it that I think we can rethink it successfully.

Second: I am not crazy about changing the binary signature on HttpCacheEntry or with making
it serialization-incompatible. Some cache implementations may well persist entities for a
long period of time and may have a large cache already; we should not lightly invalidate everyone's
existing caches.

However, I think there is an easy solution here:
1. When caching HEAD or GET requests, add a new (extension) header that stores the request
method. For example, 'Hc-Request-Method: GET'. This allows us to use the existing serialization
schemes and is backwards-compatible, and retains existing cache keys.
2. I agree with Francois-Xavier that we do not need two cache entries for the same variant;
if we have done both a HEAD and a GET then the latter is a sufficient cache entry for both.
3. When attempting to serve a GET request, we may use the cache entry (per existing cache
logic) as long as it either has no Hc-Request-Method header or has one with 'Hc-Request-Method:
GET'. Any other values of that header, should be translated into a full GET request to the
origin and proceed as normal.
4. A cache entry can be used to serve a HEAD request (per existing HTTP caching rules) if
this header is missing or has value 'GET' or 'HEAD'.

How does that all sound?


> Caching responses to HEAD requests
> ----------------------------------
>
>                 Key: HTTPCLIENT-1515
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1515
>             Project: HttpComponents HttpClient
>          Issue Type: Improvement
>          Components: HttpCache
>            Reporter: Tyrone Cutajar
>             Fix For: 4.4 Final
>
>
> Our system retrieves metadata via HEAD requests using HTTP Client 4.x and would benefit
immensely from having the headers in the response cached.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message