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

Jon Moore commented on HTTPCLIENT-1250:
---------------------------------------

@don: it's possible that you've exposed a bug rather than a behavior that needs 
to be configured around. Section 13.9 of RFC 2616: 
http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.9
is a little ambiguous for me, as your additional unit test highlights. I think 
the question is: if a 1.0 origin puts explicit cacheability markers on a 
request (Expires, Last-Modified, Cache-Control) with a query component, are you 
allowed to cache it?

Caching them is definitely at least conditionally compliant (since the HTTP/1.0 
restriction is just a SHOULD NOT), and in fact the httpbis clarification 
indicates the restriction isn't widely implemented: 
http://tools.ietf.org/html/draft-ietf-httpbis-p6-cache-21#section-4.1.2

So I'd actually like to suggest that we modify your patch so that it caches 
queries with explicit cacheability by default, and have the opt-in behavior be 
to turn off caching for those 1.0 queries.

Also, small point of administrivia: official patches have to get posted to 
JIRA; the github version of httpclient is just a mirror of the official SVN 
repository right now.

Would you mind making the above change and then submitting a patch and further 
comments against the JIRA issue here?

Thanks.
                
> Allow query string to be ignored when determining cacheability for HTTP 1.0 
> responses
> -------------------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1250
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1250
>             Project: HttpComponents HttpClient
>          Issue Type: Improvement
>          Components: Cache
>    Affects Versions: 4.2.1
>            Reporter: Don Brown
>
> For HTTP 1.0 responses, the cache uses a heuristic that checks for the 
> presence of a query string, and if found, disables caching regardless of any 
> explicit cache headers.  This should be configurable to allow a client to 
> disable this heuristic.
> In my case, I have a squid proxy in front of my server that is turning all 
> responses into HTTP 1.0 responses, and thereby, disabling the cache for all 
> outgoing requests that involve a query string.  Ignoring the query string 
> will work great for me as I use the cache in a controlled environment where 
> the caching behavior is documented and understood by clients.

--
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to