Мені цікаво, чи використовувати параметри матриці чи запиту у своїх URL-адресах. Я вважав, що старі дискусії на цю тему не задовольняють.
Приклади
- URL-адреса з парами запитів: http: //some.where/thing? ParamA = 1 & paramB = 6542
- URL з параметри матриці: http: //some.where/thing; paramA = 1; paramB = 6542
На перший погляд матричні парами, здається, мають лише переваги:
- більш читабельний
- не потрібно кодувати та розшифровувати "&" в XML-документах
- URL-адреси з "?" не є кешованим у багатьох випадках; URL-адреси з параметри матриці кешуються
- Параметри матриці можуть з'являтися скрізь на шляху і не обмежуються її кінцем
- Параметри матриці можуть мати більше одного значення:
paramA=val1,val2
Але є і недоліки:
- лише декілька рамок, таких як параметри матриці підтримки JAX-RS
- Коли браузер подає форму через GET, парами стають парами запитів. Таким чином, він складається в двох видах параметрів для одного завдання. Щоб не збивати з пантелику користувачів REST-сервісів і обмежувати зусилля для розробників сервісів, було б простіше використовувати параметри запитів - у цій галузі.
Оскільки розробник служби може вибрати рамку з підтримкою параметри матриці, єдиним недоліком буде те, що браузери створюють за замовчуванням параметри запиту.
Чи є інші недоліки? Що б ти зробив?