一个 URL、一个 URI 和一个 URN 的区别是什么?
当前回答
根据 RFC 3986, URI 由以下组成:
scheme://authority/path?query
URI 描述了在服务器(权威)上访问资源(路径)或应用程序(请求)的协议。
此分類上一篇
所有 URL 都是 URI,所有 URN 都是 URI,但所有 URI 不是 URL。
请参见更多详细信息:
维基百科
其他回答
维基百科将提供您所需的所有信息。 引用来自 http://en.wikipedia.org/wiki/URI:
URL 是一個 URI,除了識別資源之外,還提供行動或獲得資源的代表性的手段,描述其主要接入機制或網路「位置」。
从 RFC 3986:
“Uniform Resource Locator”(URL)是指URI的子组,除了识别资源之外,它还提供了通过描述其主要访问机制(例如,其网络的“位置”)来定位资源的手段。
因此,所有URL都是URI,所有URL都是URI,但URL和URL都是不同的,所以你不能说所有URL都是URL。
如果你还没有阅读罗杰·帕特的答案,我会建议你这样做。
此分類上一篇
URI、URL、URN
如上图所示,这里有三个不同的组成部分,通常最好在讨论这些问题时去源头,所以这里是由Tim Berners-Lee, et. al.在RFC 3986: Uniform Resource Identifier(URI): Generic Syntax:
统一资源识别器(URI)是识别一个抽象或物理资源的字符的微型序列,URI可以进一步分类为一个位置,一个名称,或两者。
我一直在想同样的事情,我发现了这个: http://docs.kohanaphp.com/helpers/url。
您可以看到一个清晰的例子,使用 url::current() 方法. 如果您有此 URL: http://example.com/kohana/index.php/welcome/home.html?query=string 然后使用 url:current() 给您一个 URI,根据文档,是:欢迎/home
首先,把你的头脑脱离混乱,把它简单,你会明白。
URI => 统一资源识别器 识别一个完整的资源地址 i-e 位置,名称或两者。
URL => Uniform Resource Locator 指定资源的位置。
URN => 统一资源名称 识别资源名称
例子
我们有一个地址 https://www.google.com/folder/page.html 在哪里,
URI(统一资源识别器) => https://www.google.com/folder/page.html
URL(Uniform Resource Locator) => https://www.google.com/
URN(统一资源名称) => /folder/page.html
URI => (URL + URN) 或 URL 仅或 URN 仅
推荐文章
- URL中的“#:~:text=”位置哈希值到底是什么?
- 什么是HTTP“主机”报头?
- 哪个HTTP状态代码表示“尚未准备好,稍后再试”?
- 如何从URL获取参数与JSP
- 如何阻止恶意代码欺骗“Origin”报头来利用CORS?
- 从URI获取真实路径,Android奇巧新的存储访问框架
- URL从Java中的类路径加载资源
- 为什么说“HTTP是无状态协议”?
- 我需要HTTP GET请求的内容类型报头吗?
- 单击url会打开默认浏览器
- 我如何得到一个Flask请求的url的不同部分?
- 用JavaScript检测文本中的url
- 如何让Chrome允许混合内容?
- 正确的方式删除cookies服务器端
- REST DELETE真的是幂等的吗?