为什么这个 URI 符合 RCF 2396 标准?

Why is this URI valid by RCF 2396 standards?

我一直在为我一直在开发的应用程序加载器研究非字符串类型。作为打字错误,我忘记包含特定 URI 的协议部分。我预计 java 测试会因 URI 无效而失败...但是此声明似乎有效...

URI uri = URI.create("contacts.addresses.genericAddress")

对我来说,使用点作为方案部分没有标准...我认为方案部分总是必需的?

有人知道为什么吗?

我会添加我的评论作为答案,因为我认为它是正确的:

来自 Java URI 文档:"specified by the grammar in RFC 2396, Appendix A" 和附录 A 允许 URI 是 相对路径, 没有主机名或方案。所以 "this.and.that" 可能只是一个像 "this.html" 这样的文件名(点作为文件元素名称是有效的——即路径段中的 pchars)。