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

В соответствии с RFC 3986 Раздел 3 - Синтаксические компоненты:

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

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

2 ответа

Решение

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

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

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

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

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

Другие вопросы по тегам