La última versión de ASP.NET, la 4.0, incorpora varias opciones de configuración que tienen que ver con las URLs de nuestras páginas. Por ejemplo: los caracteres que son válidos y, por lo tanto, admitidos en una URL.
Por defecto existen 8 caracteres especiales que no se admiten en la ruta de una página, a saber:
<>&*%:\?
La verdad es que es bastante lógico, puesto que no puede existir ningún archivo ni carpeta que los use en su nombre, y además el "et" o "ampersand" (&) y la interrogación (?) forman parte siempre de la parte de parámetros o "Query String" de una URL, no de la ruta.
Cuando se introduce uno de estos caracteres en una URL, ASP.NET devuelve un error 400, de petición errónea:
En ASP.NET 4.0 es posible definir la lista de caracteres no válidos en una URL tocando el web.config de la aplicación, en concreto el nodo httpRuntime en su propiedad requestPathInvalidChars:
<httpRuntime requestPathInvalidChars="<,>,*,%,&,:,\,?" ...
[Más]