Разъяснение по компоненту пути URI?

Согласно RFC 3986, раздел 3 — Синтаксические компоненты:

Компоненты схемы и пути обязательны, хотя путь может быть пустым (без символов).

Может ли кто-нибудь пояснить, как может потребоваться компонент пути, если он может быть пустым? Возможно, я неправильно понимаю определение «требуется» в этом контексте, но я предположил, что оно означает что-то вроде «должен быть непустым», что явно противоречит приведенной здесь спецификации.


person FtDRbwLXw6    schedule 10.04.2013    source источник


Ответы (2)


Здесь «требуется» означает просто «всегда присутствует»: всегда присутствуют компоненты схемы и пути абсолютного URI.

Компонент схемы не может быть пустым, так как производственная «схема» требует хотя бы одного символа.

Компонент пути может быть пустым, так как продукция "path-empty" (часть "hier-part") состоит из нулевых символов.

person Peter O.    schedule 22.05.2013
comment
Итак, требуется компонент, но не данные? Какое странное различие. - person FtDRbwLXw6; 24.05.2013

Обычный практический пример пустого — точнее, непустого — пути — это URI типа http://stackoverflow.com, где путь пуст. Компонента полномочий (в данном случае это stackoverflow.com) недостаточно для идентификации ресурса.

Когда центр сертификации пуст, путь должен начинаться с /, чтобы отличить путь от центра сертификации — scheme:/// является допустимым URI — следовательно, путь пустой. Также взгляните на этот ответ для дальнейшего чтения.

person Community    schedule 02.01.2017