为什么`requestPathInvalidCharacters`的默认设置会排除允许的其他字符?

Jos*_* M. 10 asp.net url standards uri

在ASP.NET中,httpRuntime/@requestPathInvalidCharacters属性默认为<,>,*,%,&,:,\.据我所知,这些字符在URL的路径部分(基于此属性的默认设置)中是不允许的,但应允许其中一些字符.在该列表中,我很难理解为什么*,&,:默认情况下不允许这样做.例如,以下URL 有效,但默认情况下会被ASP.NET拒绝:

要通过电子邮件获得一个独特的人: http ://myservice.com/People/Email=jim@smith.net

要在州内获得独特的地点: http ://myservice.com/States/VA/Localities/FIPS=001

我也可以换掉=for :来默认使ASP.NET拒绝URL.但这些字符/ URL是有效的,应该/做得很好.

那么,有没有人知道为什么选择这些不允许的角色?

(相关文章/回答:https://stackoverflow.com/a/13500078/374198)