В конце раздела 3.3 есть объяснение.
Помимо точечных сегментов в иерархических путях, сегмент пути считается непрозрачным в соответствии с общим синтаксисом. Приложения, производящие URI, часто используют зарезервированные символы, разрешенные в сегменте, для разграничения подкомпонентов, специфичных для схемы или обработчика разыменования. Например, зарезервированные символы точки с запятой (;) и равенства (=) часто используются для разделения параметров и значений параметров, применимых к этому сегменту. Зарезервированный символ запятой (,) часто используется для аналогичных целей. Например, один производитель URI может использовать такой сегмент, как name;v=1.1, чтобы указать ссылку на версию 1.1 имени, тогда как другой может использовать такой сегмент, как name,1.1, чтобы указать то же самое. Типы параметров могут быть определены семантикой конкретной схемы, но в большинстве случаев синтаксис параметра зависит от реализации алгоритма разыменования URI.
Другими словами, он зарезервирован, чтобы люди, которым нужен список чего-либо с разделителями в URL-адресе, могли безопасно использовать ;
в качестве разделителя, даже если части содержат ;
, при условии, что содержимое закодировано в процентах. Другими словами, вы можете сделать это:
foo;bar;baz%3bqux
и интерпретировать его как три части: foo
, bar
, baz;qux
. Если бы точка с запятой не была зарезервированным символом, ;
и %3b
были бы эквивалентны, поэтому URI неправильно интерпретировался бы как четыре части: foo
, bar
, baz
, qux
.
person
Mark Byers
schedule
29.01.2010