В RFC указаны следующие символы:
Незарезервированные символы
Символы, которые разрешены в URI, но не имеют зарезервированных
цель называются безоговорочными. К ним относятся прописные и строчные буквы
буквы, десятичные цифры, дефис, точка, подчеркивание и тильда.
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
Бернерс-Ли и соавт. Трек стандартов [Страница 13]
Общий синтаксис RFC 3986 URI Январь 2005
URI, которые отличаются заменой незарезервированного символа на
соответствующий ему октет US-ASCII, закодированный в процентах, эквивалентен: они
идентифицировать тот же ресурс. Однако реализации сравнения URI
не всегда выполняйте нормализацию перед сравнением (см. раздел
6). Для согласованности, октеты в процентах в диапазонах ALPHA
(% 41-% 5A и% 61-% 7A), DIGIT (% 30-% 39), дефис (% 2D), период (% 2E),
подчеркивание (% 5F) или тильда (% 7E) не должны создаваться URI
производители и, если они найдены в URI, должны быть декодированы в их
соответствующие незарезервированные символы нормализаторами URI.