cache module does not recognize equivalent URIs
-----------------------------------------------

                 Key: HTTPCLIENT-987
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-987
             Project: HttpComponents HttpClient
          Issue Type: Bug
          Components: Cache
    Affects Versions: 4.1 Alpha2
            Reporter: Jonathan Moore


http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.2.3

"When comparing two URIs to decide if they match or not, a client SHOULD use a 
case-sensitive octet-by-octet comparison of the entire URIs, with these 
exceptions:
  * A port that is empty or not given is equivalent to the default port for 
that URI-reference;
  * Comparisons of host names MUST be case-insensitive;
  * Comparisons of scheme names MUST be case-insensitive;
  * An empty abs_path is equivalent to an abs_path of "/".
Characters other than those in the "reserved" and "unsafe" sets (see RFC 2396 
[42]) are equivalent to their ""%" HEX HEX" encoding.

For example, the following three URIs are equivalent:
      http://abc.com:80/~smith/home.html
      http://ABC.com/%7Esmith/home.html
      http://ABC.com:/%7esmith/home.html";

The current implementation does not canonicalize the URIs it uses for cache 
keys, and so is missing potential cache hits. More importantly, though, 
required invalidations due to PUT/POST/DELETE to a URI (as well as those 
mentioned in Location or Content-Location headers) may not occur properly due 
to this bug.

-- 
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]

Reply via email to