如何配置 URN
Posted
技术标签:
【中文标题】如何配置 URN【英文标题】:How to configure URN 【发布时间】:2016-06-30 20:57:58 【问题描述】:我想了解以下网址。
https://server_ip/testing/urn:id:value
我从“https://server_ip/testing/”了解到包含协议 HTTPS 和服务器 ip 和路径。
我想知道 url "urn:id:value" 的剩余部分。 没有文件名和扩展名的 URL 是如何工作的。 在服务器端需要做什么来提供这种类型的 URL。
我正在使用 appache V2.4.12 和 php V5.5.10。
我从 *** 获得了一些知识来创建没有文件扩展名的 URL。
https://server_ip/testing/sample_code.php
到
https://server_ip/testing/sample_code
提前致谢
【问题讨论】:
【参考方案1】:路径组件不是/testing/
,而是/testing/urn:id:value
。
虽然路径段 urn:id:value
看起来像一个 URN,但在这种情况下它不是一个。它是一个 HTTPS URL,可能提供有关 URN 的一些信息,类似于 HTTPS URL,如
https://example.com/page-check/http://***.com/
这可能会提供有关 HTTP URL http://***.com/
的信息(路径是 /page-check/http://***.com/
)。
但它只是出于可用性原因才包含在这样的路径中。 URL 也可以类似于
https://example.com/page-check?protocol=https&domain=***.com&path=/
或
https://example.com/page-check/f623Dn1
【讨论】:
嗨,你能帮我举个例子吗?我需要在服务器端做什么。如果我使用 urn:id:value 在浏览器中打开网址。我找不到页面。 @Rajalakshmi:嗯,你必须为这个 URL 生成一个页面,就像任何其他页面一样:如果有人请求/foo
,你提供一个特定的文档。如果有人请求/testing/urn:id:value
,没有什么不同。
感谢您的回复。我已经在apache中完成了如下所述的配置。 "RewriteEngine On RewriteRule "/testing/" "/test/index.php" 获取 urn id 和 value。这是正确的方法。这会影响性能吗?
嗨 Unor,我知道这是旧的.. 但 :
不是用于分隔方案、用户/密码和主机/端口组件的保留字符吗?像您展示的那样在 URL 路径中使用它是否有效?
@Rain:是的,但:
仅保留在该组件中。在路径组件中,它是未保留的(参见allowed chars in the path)。以上是关于如何配置 URN的主要内容,如果未能解决你的问题,请参考以下文章
如何在 .NET 中表示 URN(统一资源名称),以便 Equals 按预期工作
如何从 URN 或 id 获取 LinknedIn 帖子的 URL?
如何使用 javascript/Nodejs 从生成的 urn 中查看 Forge 中的 BIM360 Revit 文件