好的,所以消化了 this one 这样优秀的答案URL 和 URI 的区别,我想我现在明白两者之间的区别了。
我现在不明白的是为什么 .NET Framework 有一个 UriBuilder 类,据我所知,它只适用于作为资源定位器的 URI,因此应该正确地称为 UrlBuilder。
有人可以给我一个UriBuilder
的例子吗?被用来构建一个不是资源定位器的 URI?或者在 .NET 框架的设计中做出这个决定的一些理由?
最佳答案
仔细想想,UriBuilder
比 URL 构建器更强大、更广泛。由于每个 URL 都是一个 URI,因此 UriBuilder 本质上是一个 URL 构建器。
所以基本上问题是你什么时候可以将 UriBuilder 用于非 URL URI。好吧,我想最好的例子是 URN (因为 URL 和 URN 基本上是定位符和名称——URI 的两个分类)。例如,可以使用 URN 来构建 uuid(即 urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66
)或 ISBN(即 ISBN 0-486-27557-4
)。这些 URN 不包含像 URL 那样指向资源的位置信息,它们只包含名称或 ID。 UriBuilder 不仅可以构建 URL(指向资源),还可以构建 URN。如果你看 Uri.Scheme property ,您将在 Uri 的可能方案列表中看到 uuid。
此外,.NET 在技术上确实有 UrlBuilder class .
关于url - 为什么 .NET 有一个 UriBuilder 而不是 UrlBuilder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11392924/