URI、URL 和 URN 的区别

本文解析了URI的抽象概念,详细讲解了URL的结构与用途,以及URN的命名方式。通过生活实例说明URL作为URI子集的角色,涵盖HTTP、域名、端口、路径、参数和锚点等关键要素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. URI:Uniform Resource Identifier,统一资源标识符。用来唯一的标识一个资源。

  2. URL:Uniform Resource Location,统一资源定位符。它是一种具体的 URI,通过地址来标识资源,即 URL 不仅用来标识一个资源,而且还指明了如何定位这个资源。一般由三部分组成:协议;存有该资源的主机 IP 地址(有时也包括端口号);主机资源的具体地址(如目录和文件名等)。例如 http://www.aspxfans.com:8080/news/index.asp

    格式:http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name

    1. 协议部分:http:,代表网页使用的是 HTTP 协议。// 为分隔符。
    2. 域名部分:www.aspxfans.com。可以使用域名,也可以使用 IP 地址(例如:http://127.0.0.1/index.html),但由于 IP 地址都是数字,且没有任何意义,比较难记,所以在访问网页时最常见的是域名。
    3. 端口部分:8080。域名和端口之间使用 : 作为分隔符。端口不是 URL 必须的部分,如果省略,将采用默认端口。
    4. 目录部分:/news/。从第一个 / 开始到最后一个 / 为止,是目录部分。目录不是 URL 的必须部分。
    5. 文件名部分:index.asp。从域名后的最后一个 / 开始到 ? 为止,是文件名部分;如果没有,则是从域名后的最后一个 / 开始到 # 为止;如果没有 ?#,则是从域名后的最后一个 / 开始到结束。文件名也不是 URL 的必须部分,如果省略,则使用默认的文件名。
    6. 参数部分:boardID=5&ID=24618&page=1。从 ? 开始到 # 为止之间的部分都是参数部分,又称搜索部分、查询部分。参数可以允许有多个,用 & 作为分隔符。参数部分也不是 URL 的必须部分。
    7. 锚部分:name。从 # 开始到最后,都是锚部分。锚部分也不是 URL 的必须部分。
  3. URN:Uniform Resource Name,统一资源名称。它也是一种具体的 URI,通过名字来标识资源。例如:mailto:java-net@java.sun.com

也就是说,URI 是以一种抽象的,高层次概念来定义统一资源标识,而 URL 和 URN 则是具体的资源标识的方式。URL 和 URN 是 URI 的子集。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值