当前位置: 首页 > news >正文

url、urn、uri核心区别:一文理清资源标识的三种形式

image

核心关系
用一句最经典的话概括:
URI 是一个广义概念,它包含两种主要形式:URL 和 URN。
但在日常生活中,我们所说的“网址”几乎都是 URL。

1. URI - 统一资源标识符
定义:URI 是最高级别的抽象,它的核心作用是 标识 一个资源。这个“标识”可以是资源的地址,也可以是资源的名称。
关键:URI 关注的是“这个资源是谁”,而不一定关心“如何找到它”。
示例:
https://www.example.com/page.html (这也是一个URL)
urn:isbn:0451450523 (这是一本经典科幻小说的URN,用ISBN标识)
mailto:contact@example.com (这是一个联系邮箱的URI)

2. URL - 统一资源定位符
。定义:URL 是 URI 最常见的形式,它不仅标识资源,还提供了定位(访问)该资源的具体方法和路径。URL 告诉你“资源在哪里”以及“如何获取它”。
。核心组成(一个标准的HTTP URL例子):
https://www.example.com:8080/path/to/page.html?query=string#fragment
方案/协议:https:// (如何访问,规则是什么)
主机名:www.example.com (资源在哪台机器上)
端口::8080 (访问机器的哪个“门”,通常默认可省略)
路径:/path/to/page.html (在服务器上的具体位置)
查询字符串:?query=string (传递给资源的参数)
片段:#fragment (资源内部的某个锚点)
。日常示例(你每天都在用):
网页地址:https://www.google.com
图片链接:https://example.com/images/cat.jpg
API 端点:https://api.example.com/users/123

3. URN - 统一资源名称
定义:URN 是 URI 的另一种形式,它的目标是给资源一个永久的、位置无关的唯一名称。就像一个物体的“身份证号”,无论这个物体搬到哪里,它的身份证号不变。但 URN 目前在实际网络访问中应用不广泛,更多用于特定领域(如图书、歌曲的标识系统)。
核心思想:通过名称来标识,而不是通过易变的“地址”。
示例:
urn:isbn:9780141036144 (《1984》的ISBN号,无论书在哪个书店、哪个图书馆,这个编号都指向这本书)
urn:uuid:123e4567-e89b-12d3-a456-426614174000 (一个全局唯一标识符)
urn:oasis:names:specification:docbook:dtd:xml:4.1.2 (一个技术规范的名称)

主要区别对比表
image

重要补充:URI vs URL - 为什么日常常混用?
历史原因:早期,在万维网的文档和讨论中,这两个术语区分不严格。
实践原因:在 Web 环境中,我们使用的 99.9% 的“网址”都既是 URI(标识了网页),也是 URL(提供了访问它的方式)。所以当一个 Web 地址能用来定位资源时,它既是 URL,也是 URI。这种重叠导致了混用。
技术严谨性:在技术规范(如 RFC)、开发文档或面试中,理解它们的区别很重要。你可以这样记:所有的 URL 都是 URI,但并非所有的 URI 都是 URL(因为 URI 还包含 URN)。

总结
当你说“网址”或“链接”时,你指的几乎总是 URL。
URI 是一个更宽泛的术语,在技术语境下用来统称所有资源标识符。
URN 是一个理想化的概念,希望资源有永恒的名字,但在当前以 HTTP 为核心的互联网中,远不如 URL 普及。
简单记忆:你需要访问一个资源时用 URL,你需要永久性地指代一个资源时用 URN,而 URI 是它们俩的学名。

http://www.jsqmd.com/news/173015/

相关文章:

  • 基于PLC的全自动生产线包装机:西门子S7 - 300实现之旅
  • DeepSeek总结的算法 X 与舞蹈链文章
  • LeetCode 462 - 最小操作次数使数组元素相等 II
  • uboot logo显示问题
  • 数控电源仿真设计探索
  • 库室管控核心产品-仓库安防设施建设
  • session、cookie、token的核心区别
  • 【小贷行业】2027年生死劫:12%利率红线下的血色黎明与AI破局之路
  • 2025 CSDN年度报告:十年技术深耕,在代码与创作中奔赴山海
  • 换能器件阻抗分析仪
  • 【Week2_Day6】【软件测试学习记录与反思】【学习SQL语句、练习navicat中SQL语句、归档思维导图、归纳遇到的问题、记录反思改进】
  • Finereport利用JS获取当前编辑行单元格行号
  • 税筹园区助力大宗贸易增值税返税与所得税优惠政策解读
  • openGauss在教育领域的AI实践:基于Java JDBC的学生成绩预测系统 - 详解
  • Spring Cloud生态地图——注册、配置、网关、负载均衡与可观测的组合拳
  • 力扣406 根据身高重建队列 java实现
  • 从“技术盆景”到“产业森林”:2025岁末的多智能体系统崛起与产业革命
  • 还在用DeepSeek写论文?这8款免费AI神器,查重率低于13%原创度高!
  • 2025 GEO(生成式引擎优化)行业全景报告:全场景时代下,企业如何选对技术合作伙伴?
  • 从“量表迁移”到“智能重构”:心理咨询行业的技术范式演进与央心心理的实践
  • 实战|香橙派+YOLOv8 低成本搞定田块分割:从环境搭建到边缘推理全流程
  • 拒绝干扰!
  • STM32项目分享:智能光伏发电系统
  • Flink 最近又“进化”了:状态后端与 Savepoint,真不是背概念那么简单
  • 西门子时间计数器
  • 实战|华为Atlas200 + YOLOv8 搞定田块分割:从环境搭建到推理全流程通关
  • 西宁不锈钢卫生管加工 高纯洁净
  • uniapp input组件实现聚焦
  • 低功耗蓝牙建立连接过程-详解
  • AI自动画界面?Google这个开源神器让前端工程师失业了