Parâmetros da matriz de URL vs. parâmetros de solicitação

Eu estou querendo saber se devo usar parâmetros de matriz ou consulta em minhas URLs. Eu encontrei um mais velhodiscussão para esse tópico não satisfatório.

Exemplos

URL com params de consulta:http: //some.where/thing? paramA = 1 & paramB = 6542URL com params de matriz:http: //some.where/thing; paramA = 1; paramB = 6542

À primeira vista, os parâmetros da matriz parecem ter apenas vantagens:

mais legívelnenhuma codificação e decodificação de "&" em documentos XML é necessáriaURLs com "?" não são armazenados em cache em muitos casos; URLs com params de matriz são armazenados em cacheParâmetros de matriz podem aparecer em todos os lugares no caminho e não estão limitados ao seu fimos parâmetros da matriz podem ter mais de um valor:paramA=val1,val2

Mas também há desvantagens:

apenas alguns quadros comoJAX-RS parâmetros da matriz de suporteQuando um navegador envia um formulário via GET, os parâmetros se tornam params de consulta. Por isso, acaba em dois tipos de parâmetros para a mesma tarefa. Para não confundir os usuários dos serviços REST e limitar o esforço para os desenvolvedores dos serviços, seria mais fácil usar sempre parâmetros de consulta - nesta área.

Como o desenvolvedor do serviço pode escolher uma estrutura com suporte a parâmetros de matriz, a única desvantagem restante seria que os navegadores criassem por padrão parâmetros de consulta.

Existem outras desvantagens? O que você faria?

questionAnswers(3)

yourAnswerToTheQuestion