Re: URL decoding changed semantics of + in URLs
- From
Jasper St. Pierre <jstpierre@mecheye.net>
- Date
- Jul 23, 2010, 14:25 UTC
- Message-ID
- <AANLkTikRFCmE8BeB6G107cz6ZPxWtq=j-PmmX59pR5zj@mail.gmail.com>
- In-Reply-To
- <AANLkTinsixPihZRtduuB_0puX_ucC0HYqHPU0UJMX2e-@mail.gmail.com>
Yep. http://www.ietf.org/rfc/rfc2396.txt defines '+' as a reserved character, but doesn't give a purpose for it. www-form-encoded replaces space with '+' but in a URL it can mean anything it wants.
On Fri, Jul 23, 2010 at 10:10 AM, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
Show 16 quoted lines
> On Fri, Jul 23, 2010 at 13:18, Thomas Rast <trast@student.ethz.ch> wrote: > >> doesn't say much about + and the only escaping defined is the usual >> %xx style. So is there a standard that mandates this, or was it just >> a well-meaning but unnecessary backwards incompatible change? > > + and %20 are as far as I know only interchangable in *query strings*, > so having to clone 'git://git.gnome.org/gtk%2B' where you could > previously clone 'git://git.gnome.org/gtk+' is a bug. Git shouldn't be > changing that + to a %20. > > I haven't followed why we need to escape + to %20 at all, even in the > query string. E.g. curl(1) doesn't do that before sending requests to > Apache, which can handle either one. The + v.s. %20 duality is always > handled at the server AFAIK. >