Tomcat和URLS中带有百分号

时间:2013-11-14 23:07:41

标签: java tomcat

我发现如果我使用带有百分号的URL传递访问tomcat(例如

http://tester:8080/blah-1.6.0-SNAPSHOT/blah/getLoginURL/http%2F

然后tomcat似乎阻止了请求并返回一个空白的响应。如果我删除上面的%gt,请求按预期工作。反正有没有阻止这种行为?

编辑:我以为我正在使用网址编码 - 上述网址也会导致同样的失败

1 个答案:

答案 0 :(得分:4)

正确编码网址:

http://tester:8080/blah-1.6.0-SNAPSHOT/blah/getLoginURL/veryr%25gt
Difference here ---------------------------------------------^^^

在URI中,%字符是特殊的:它引入了编码实体。要在{URI}中实际放置%,您必须使用%25(编码实体%)。这称为URI编码,虽然它经常被称为“percent encoding”。

(完整推测)如果%gt原来是>,那就是%3E。 URI编码与HTML字符实体不同。