@federicomena That seems to be an evolution of generic URI syntax (https://www.rfc-editor.org/rfc/rfc3986). That is, rules designed to let you parse arbitrary URLs.
It doesn't mean that every component is meaningful for every scheme. For instance, you could construct a file URI with a hostname that isn't empty or "localhost" and it would parse according to the generic rules, but wouldn't be meaningful.