Могут ли шаблоны URI RFC 6570 кодировать пробелы для необязательных параметров?
Я работаю с API переписи США ( примеры), в котором есть необязательные параметры, разделенные пробелами. Мне был нужен механизм шаблонизации URL общего назначения, и Google привел меня к RFC 6570 и его реализациям.
Но, насколько я понимаю, RFC 6570 не может шаблонировать подстроку запроса, например:
...&in=state:02+county:170&...
где "county" может быть неопределенным и должен быть опущен, если так, вместе с предыдущим "+"- закодированным пробелом, чтобы оставить только
...&in=state:02&...
Может ли RFC 6570 это кодировать?
Если нет, есть ли альтернативный синтаксис шаблонов для универсального URI шаблонов общего назначения, который я должен рассмотреть, который реализован в Javascript и, возможно, Java?
Является ли использование "+" для разграничения подэлементов запроса, как это делается здесь, распространенным или необычным? (Я спрашиваю о частоте использования, не мудро ли это!) Является ли RFC 6570 слишком ограничительным для приложения, которое не контролирует используемые синтаксисы запроса URI?
ОБНОВИТЬ
Я вижу две проблемы: одна - это разделитель "+", а другая - использование ":", например, в "state:02", что я тоже не вижу, как это сделать.