Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
1.0.1
-
None
-
None
-
Kubuntu 10.4, Firefox 3.6.8
-
Committers Level (Medium to Hard)
Description
I have two documents in my database: "a b" and "a+b". The first can be retrieved via "/mydb/a%20b" and the second via "/mydb/a%2Bb".
When I enter "/mydb/a b" in the browser it automatically encodes it so the correct document is returned. But when I enter "/mydb/a+b" the URL is sent intact since "+" is a valid character in a path segment according to [1]. The problem is that "GET /mydb/a+b" makes CouchDB return the document with id "a b" and not the intended one, which is against the URI spec .
For an informal description of URL encoding one may refer to [2].
[1]: http://www.ietf.org/rfc/rfc2396.txt
[2]: http://www.lunatech-research.com/archives/2009/02/03/what-every-web-developer-must-know-about-url-encoding