You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Oleg Kalnichevski (JIRA)" <ji...@apache.org> on 2010/10/15 17:46:33 UTC

[jira] Commented: (HTTPCLIENT-1008) Send all variants' ETags on "variant miss"

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

Oleg Kalnichevski commented on HTTPCLIENT-1008:
-----------------------------------------------

Michajlo,

One of the test cases fails for me. Could you please have a look?

Oleg

-------------------------------------------------------------------------------
Test set: org.apache.http.impl.client.cache.TestCachingHttpClient
-------------------------------------------------------------------------------
Tests run: 56, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.235 sec <<< FAILURE!
testTreatsCacheIOExceptionsAsCacheMiss(org.apache.http.impl.client.cache.TestCachingHttpClient)  Time elapsed: 0.011 sec  <<< FAILURE!
java.lang.AssertionError: 
  Unexpected method call getVariantCacheEntries(http://foo.example.com, GET /stuff [Via: 1.1 localhost (Apache-HttpClient/4.1-alpha3-SNAPSHOT (cache))]):


> Send all variants' ETags on "variant miss"
> ------------------------------------------
>
>                 Key: HTTPCLIENT-1008
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1008
>             Project: HttpComponents HttpClient
>          Issue Type: Improvement
>          Components: Cache
>            Reporter: Michajlo Matijkiw
>             Fix For: 4.1.0
>
>         Attachments: negotiated_response.patch
>
>
> From section 13.6 of RFC 2616:
> If an entity tag was assigned to a cached representation, the forwarded request SHOULD be conditional and include the entity tags in an If-None-Match header field from all its cache entries for the resource. This conveys to the server the set of entities currently held by the cache, so that if any one of these entities matches the requested entity, the server can use the ETag header field in its 304 (Not Modified) response to tell the cache which entry is appropriate. If the entity-tag of the new response matches that of an existing entry, the new response SHOULD be used to update the header fields of the existing entry, and the result MUST be returned to the client.
> Presently, we simply forward the request to the request without the conditionals.  This improvement would consist of adding the conditionals to the request, and properly handling the response.  An example of such would be the following:
>  - request resource with "Accept-Encoding: gzip", response has "Etag: etag1", "Vary: Accept-Encoding"
>  - request resource with "Accept-Encoding: deflate", request is forwarded with "If-None-Match: etag1" added, response is 200, with "ETag: etag2"
>  - request resource with "Accept-Encoding: gzip, deflate", request is forwarded with "If-None-Match: etag1, etag2" added, response is 304, with "ETag: etag1" indicating we should use the first response for this request

-- 
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org