Мне интересно, следует ли использовать параметры матрицы или запроса в моих URL-адресах. Я нашел более старую discussion, чтобы эта тема не удовлетворяла.Параметры матрицы URL по сравнению с параметрами запроса
Примеры
- URL с Params запроса: http://some.where/thing?paramA=1¶mB=6542
- URL с матричными Params: http://some.where/thing;paramA=1;paramB=6542
На первый взгляд матрицы Params, кажется, есть только преимущества:
- более читаемый
- не требуется кодирование и декодирование «&» в XML-документах
- URL-адреса с "?" во многих случаях не кэшируются; URL-адрес с матричной Params кэшируется
- параметров матрицы могут появляться везде в пути и не ограничены до конца
- параметры матрицы могут иметь более чем одно значение:
paramA=val1,val2
Но есть и недостатки:
- лишь несколько структур, как параметры поддержки JAX-RS матричных
- Когда браузер отправляет форму через GET, то PARAMS становятся параметрами запроса. Таким образом, он заканчивается двумя параметрами для одной и той же задачи. Чтобы не путать пользователей служб REST и ограничить усилия для разработчиков сервисов, было бы проще использовать всегда параметры запроса - в этой области.
Поскольку разработчик службы может выбрать инфраструктуру с поддержкой матричного параметра, единственным оставшимся недостатком будет то, что браузеры создают параметры запроса по умолчанию.
Есть ли другие недостатки? Что бы вы сделали?
Я не уверен, что такое крупная сделка с матричными URL-адресами. Согласно статье дизайна w3c, написанной TBL, это была всего лишь дизайнерская идея и явно заявляет, что это * не * особенность Интернета. Такие вещи, как относительные URL-адреса, не используются при его использовании. Если вы хотите использовать его, это нормально; нет стандартного способа использовать его, потому что это не стандарт. –
@Steve Pomeroy: Это статья, которую вы упомянули: http://www.w3.org/DesignIssues/MatrixURIs.html – Marcel
@Marcel: yup. Для тех, кто думает о матричных URL-адресах, обратите внимание на «Статус: личный вид» в верхней части документа. –