¿No sería prudente utilizar varios caracteres de puntuación en una ruta URL HTTP? Estoy en proceso de definir URL de recursos para una API. Estas URL de recursos deberán ser accedidas, almacenadas y transmitidas por una amplia variedad de clientes y middleware, por lo que es importante que no contengan caracteres que puedan causar problemas.Práctica recomendada para delimitadores en la ruta HTTP URL
RFC 3986, section 2.2. "Reserved Characters" especifica los siguientes caracteres como sub-delims: $ & '() * +,; =
¿Alguno de éstos para su uso ilegal arbitraria en las rutas de URL en el esquema HTTP?
Incluso si son legales de acuerdo con las normas, ¿tiene alguna de estas posibilidades altas de causar problemas de interoperabilidad en el mundo real debido a un software no conforme?
¿Existen sub-requisitos específicos que haya utilizado previamente sin problemas en una API ampliamente implementada (esto proporcionaría evidencia de que los que utilizó son seguros)?
La motivación es que tenemos que delimitar los pares clave-valor que no tienen semántica jerárquica. Estamos considerando hacer esto: http://doriantaylor.com/policy/http-url-path-parameter-syntax. Sin embargo, si es probable que esto sea un problema, nos limitaremos a hacer http://example.com/key1/value1/key2/value2
gracias
Me gustaría ir con el esquema de Dorian Taylor hasta que se rompa algo, y luego agregar '/ key/value/key/value' como _alternative_ pero mantener el anterior funcionando para la compatibilidad. – zwol