标签: urn

URI,URL和URN有什么区别?

人们谈论URL,URIURN就好像它们是不同的东西,但它们看起来与肉眼相同.

它们之间有什么区别?

url uri http rfc3986 urn

4217
推荐指数
28
解决办法
111万
查看次数

URI,URL和URN有什么区别?

URI,URL和URN之间有什么区别?我读过很多网站(甚至维基百科),但我不明白.

URI:http://www.foo.com/bar.html
URL:http://www.foo.com/bar.html
URN:bar.html

它是否正确?

url uri http urn

250
推荐指数
3
解决办法
25万
查看次数

为什么URN是用于唯一标识资源的更流行的格式?

我有点明白,URN用于为资源提供唯一且与位置无关的名称.然而,我没有看到它们的用处以及它们是如何工作的:

a)为了使URN真正独一无二,必须有一些中央权威(类似于域名权威),我们可以在那里注册URN,并确保它们是唯一的.既然没有这样的权力,我们怎样才能确保我们的URN是独一无二的呢?如果我们做不到.那么拥有它们有什么意义呢?

b)另外,我不理解URN格式为urn:NID:NSS的原因.是什么让这种格式比例如urn更有效/更合理:NID:NID1:NSS

c)最后,URN如何帮助我们在互联网上找到资源?


编辑:

我不确定你是什么意思.NID是命名空间标识符,NSS是命名空间特定字符串您是否提议使用子命名空间系统?

我只想弄清楚为什么URN使用的格式对其他格式"极好",例如urn:NID:NID1:NSS

identity uri urn

15
推荐指数
2
解决办法
5034
查看次数

JAXB:如何对类进行注释以使它们属于不同的名称空间?

我想要有JAXB注释的类,这些类将被编组/解组到不同的XML命名空间.

我需要的是:

<someRootElement xmlns="urn:my:ns1"
    xmlns:a="urn:my:ns2" xmlns:b="urn:my:ns3">

  <someElement/>
  <a:someElement/>
  <b:someElement/>

</someRootElement>
Run Code Online (Sandbox Code Playgroud)

怎么做到呢?

可以以编程方式完成吗?(而不需要JAXB的.xjb绑定文件?)

java xml namespaces jaxb urn

10
推荐指数
1
解决办法
2万
查看次数

你能举一个私人使用的 URN 的例子吗

根据维基百科,

urn:<NID>:<NSS>

前导 urn: 序列不区分大小写。<NID> 是命名空间标识符,它确定<NSS>命名空间特定字符串的语法解释。RFC 1737 中描述了统一资源名称的功能要求。[5]

来源: http: //en.wikipedia.org/wiki/Uniform_resource_name

然后它继续说实验 NID 是有前缀的,X-但接着又说:

RFC 6648 不赞成对新 ID 名称使用“X-”表示法,但不建议替换现有的“X-”名称,并且不会覆盖需要使用“X-”的现有规范。[7]

那么现在怎么办?

如果我想为私有系统中的某些标识符创建一个 URN,我该如何正确命名它们?

我的直觉告诉我,该x-前缀不会获得任何好处,因为两个开发人员可以轻松地开始使用urn:x-foo,并且与他们刚刚选择的情况没有任何不同urn:foo,除了可能很明显它不是官方的已向 IANA 注册。

因此,我们应该尝试创造一些独特的东西,并尽最大努力检查它是否真实。正确的?

uri web-standards urn

8
推荐指数
1
解决办法
1926
查看次数

MIME 类型的 URN

MIME 类型是否存在官方 URN?

urn:mimetype:text/plainMozilla Firefox 和其他应用程序使用“ ”或“ ”等符号urn:mimetype:handler:text/plain。这种方法有两个问题:

  1. mimetype根据 IANA 官方注册表 ( http://www.iana.org/assignments/urn-namespaces/ ) ,不存在“ ”命名空间。因此,只有“ urn:x-mimetype”才是有效的命名空间(根据 RFC 3406 第 4.1 节)。

  2. 根据 RFC 2141 第 2.2 节,斜杠“ /”不能在 URN 中使用。但它可以被编码为“ %2F”。

考虑到所有因素,除了“”之外,是否还有另一种方法可以将 MIME 类型“ text/plain”表示为 URN urn:x-mimetype:text%2Fplain

[更新:想一想,URI 也可以。但我也找不到 MIME 类型的 URI。]

谢谢

mime urn mime-types

6
推荐指数
1
解决办法
586
查看次数

使用DNS作为URN解析器

我正在寻找或者建立一个URN(统一资源名称)解析器,它将返回给定URN的0或更多URI.

例如:urn:fooid:6e8bc430-9c3a-11d9-9669-0800200c9a66:foo可能会解决http://www.example.com/fooservice/6e8bc430-9c3a-11d9-9669-0800200c9a66/foo.该服务将了解fooid-style URN并知道如何从GUID 查找base-URL(http://www.example.com/fooservice/)并将冒号转换为斜杠以生成完整的URI.

我搜索过"URN解析器",但那里并没​​有多少.然后我发现 - 由于DNS是以可扩展和分布式的方式快速解析地址,并且因为它已被用于其他应用程序(请参见此处) - 可能它可用于执行基本URL查找部分.

这是否已经完成,是否只是使用传统数据库的实用替代方案?

dns urn

6
推荐指数
1
解决办法
1286
查看次数

如何在 .NET 中表示 URN(统一资源名称),以便 Equals 按预期工作

RFC2141提到:

  1. 词汇等价的例子

    以下 URN 比较突出显示了词汇等价
    定义:

        1- URN:foo:a123,456
        2- urn:foo:a123,456
        3- urn:FOO:a123,456
        4- urn:foo:A123,456
        5- urn:foo:a123%2C456
        6- URN:FOO:a123%2c456
    
    Run Code Online (Sandbox Code Playgroud)

    URN 1、2 和 3 在词法上都是等效的。

随后的RFC8141保留了该等价性:

2.1. 命名空间标识符 (NID)

NID 不区分大小写(例如,“ISBN”和“isbn”是等效的)。

我可以在 .NET 框架中轻松找到的最接近的 URN 表示形式是URI 类。然而,它似乎并没有完全尊重 RFC 的等效定义:

    [TestMethod]
    public void TestEquivalentUrnsAreBroken()
    {
        Assert.AreEqual(
            new Uri("URN:foo:a123,456"),
            new Uri("urn:foo:a123,456"));

        Assert.AreEqual(
            new Uri("urn:foo:a123,456"),
            new Uri("urn:FOO:a123,456"));
    }
Run Code Online (Sandbox Code Playgroud)

在上面的代码示例中,第一个断言按预期工作,而第二个断言失败。

是否有任何合理的方法可以让 URI 类遵守等效定义?我应该使用其他课程吗?

请注意,我已经找到了URN 类,但文档提到不应直接使用它。

.net c# frameworks uri urn

6
推荐指数
1
解决办法
2157
查看次数

是否有官方或事实上的通用 URN NID 供私人不受监管使用?

我想在我的项目中使用 URN。我不太愿意将我不起眼的项目申请到 IANA 官方注册,但希望尽可能避免违反标准。这就是为什么我想知道是否有一个标准(或至少是事实上的常见做法)NID 来代替private下面的示例:

urn:private:mycompany:myproject:mycollection:myresource
Run Code Online (Sandbox Code Playgroud)

standards uri naming-conventions urn iana

5
推荐指数
1
解决办法
284
查看次数

Azure 资源标识符格式 URI -URL 或 URN

我正在使用 Azure,我注意到它为每个资源组和资源创建了一个如下所示的 ID。

对于资源组 /subscriptions/<Subscriptionid>/resourceGroups/<resourcegroupname>

对于资源,它看起来像这样 /subscriptions/<Subscriptionid>/resourceGroups/<resourcegroupname>/providers/Microsoft.Compute/disks/<disk name>

这是 azure 的唯一标识符。

这是什么类型的 URI,是 URL 还是 URN?

url uri azure urn

5
推荐指数
1
解决办法
6859
查看次数