url - 为什么 .NET 有一个 UriBuilder 而不是 UrlBuilder?

标签 url uri uribuilder

好的,所以消化了 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/

相关文章:

javascript - 如何在路由参数中使用斜杠

android - 从 myContentProvider 加载 URI 失败(空结果)

c# - 您应该如何构建 OData URI?

java - 如何在不编码哈希的情况下使用 URIbuilder 构建 URI

url - 包含ID的Grails URL映射

url - grails测试网址参数

url - 将编码字符添加到 url 会破坏 htaccess

android - ContentObserver - 简直不敢相信我读过的内容

Android浏览器历史URI?