2010/1/11 Tero Karttunen <karttunen.mailingl...@gmail.com>:
> Apache Tomcat access log:
> 131.177.146.160 - - [11/Jan/2010:12:58:04 +0200] "GET
> /ts_core_virtual_repository/TeamCenterEmulator/sites/one+one%3cfive
> HTTP/1.1" 200 399
> What my application actually sees after decoding: sites/one one<five

Why is '+' decoded to ' ' in the path part of the URL?

That is, I think, wrong.

The '+' char has no special meaning in HTTP/1.1 (RFC 2616) [1], so in
the path part of the URL it just means itself, the plus sign.

It is the HTML Forms spec [2] that makes it special, defining
"urlencoding" used when submitting web forms through HTTP. It has
special meaning only in the query part of the URL and only because of
that part of HTML spec.

[1] http://tools.ietf.org/html/rfc2616
[2] http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1

> What my application actually sees after decoding: sites/one one<five

What is your application code here? Where and how do you obtain the
"decoded" value?

E.g. calling
http://localhost:8080/examples/servlets/servlet/RequestInfoExample/foo+bar
in 6.0.20 and also in 6.0.22 RC displays
Path Info:      /foo+bar

so that API is working properly.

Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to