In ASP.NET, the httpRuntime/@requestPathInvalidCharacters
attribute defaults to <,>,*,%,&,:,\
. These characters, as I understand, are disallowed in the path portion of a URL (based on the default setting of this attribute), but some of them should be allowed. Out of that list, I struggle to understand why *,&,:
are disallowed by default. E.g., the following URLs are valid but would be rejected by default by ASP.NET:
To get a unique person by email: http://myservice.com/People/Email=jim@smith.net
To get a unique locality within a state: http://myservice.com/States/VA/Localities/FIPS=001
I could also swap out the =
for :
to make ASP.NET reject the URL by default. But these characters/URLs are valid and should/do work fine.
So, does anyone have any insight into why these disallowed characters were chosen?
(Related post/answer: https://stackoverflow.com/a/13500078/374198)