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

彻底弄清URI、URL、URN的关系

URI、URL与URN关系详解

URI(统一资源标识符)、URL(统一资源定位符)和URN(统一资源名称)是互联网资源标识的三个重要概念,它们之间存在包含和从属关系。

一、核心概念关系

  1. URI(Uniform Resource Identifier)‌:广义的资源标识符概念,是URL和URN的父集‌。

    • 作用:唯一标识互联网或本地资源。
    • 示例:邮箱地址example.com、图书编号20451450523等‌。
  2. URL(Uniform Resource Locator)‌:URI的子集,通过位置定位资源‌。

    • 特点:包含访问协议和资源位置信息。
    • 示例:https://www.example.com/page.html。
  3. URN(Uniform Resource Name)‌:URI的子集,通过名称标识资源‌。

    • 特点:不依赖资源位置,具有持久性。
    • 示例:urn:issn:1535-313(期刊标识)‌。

二、三者区别对比

特性URIURLURN
标识方式广义标识位置定位名称标识
持久性取决于实现位置变更即失效持久唯一
示例邮箱地址https://example.comurn:isbn:0451450523
包含关系包含URL和URNURI的子集URI的子集

三、技术实现细节

  1. URI组成结构‌:

    text

    http://user:pass@example.com:80/home/index.html?age=11#mask ├─ 协议方案名 ├─ 登录信息(可选) ├─ 服务器地址 ├─ 端口号(可选) ├─ 文件路径 ├─ 查询字符串(可选) └─ 片段标识符(可选)

  2. URN特点‌:

    • 解决URL依赖位置的问题‌。
    • 即使资源位置变更,URN仍有效。
    • 常用于标识书籍、期刊等持久资源。
  3. URL局限性‌:

    • 主机或路径变更会导致失效‌。
    • 示例:http://aaa.com/images/cat.jpg若图片移动到bbb服务器则无法访问‌。

四、实际应用场景

  1. URL典型应用‌:

    • 网页地址(俗称网址)‌。
    • 资源下载链接。
    • API接口地址。
  2. URN典型应用‌:

    • 国际标准书号(ISBN)。
    • 国际标准期刊号(ISSN)。
    • 持久化数字标识。
  3. URI通用应用‌:

    • 任何需要唯一标识资源的场景。
    • 既包含定位也包含命名的混合系统。

总结三者关系:‌URI是广义概念,包含URL(通过位置定位)和URN(通过名称标识)两种具体实现方式‌‌。所有URL都是URI,但并非所有URI都是URL;同样,所有URN都是URI,但URI不一定是URN‌。

http://www.dtcms.com/a/356839.html

相关文章:

  • 基于LangChain框架搭建AI问答系统(附源码)
  • 将2D基础模型(如SAM/SAM2)生成的2D语义掩码通过几何一致性约束映射到3D高斯点云
  • android 不同分辨图片放错对应文件夹会怎样?
  • Python 编码与加密全解析:从字符编码到 RSA 签名验证
  • (笔记)Android ANR检测机制深度分析
  • 【微知】如何撤销一个git的commit?以及撤销的3种方式?
  • 多代理系统架构:Supervisor 与 Swarm 架构详解
  • Java面试-MySQL事务
  • Word文档怎么打印?Word打印技巧?【图文详解】单面/双面/指定页面/逆序等Word打印选项
  • 微信小程序中蓝牙打印机中文编码处理:使用iconv-lite库
  • Java 大视界 -- Java 大数据在智能安防入侵检测系统中的多模态数据融合与检测精度提升(405)
  • 将数据赋值到多个文档里,并将多个word放入压缩包并下载
  • Elasticsearch 9.X 使用推理 API 进行语义搜索
  • JAVA 请求第三方接口,将JSON数据转为对象
  • 微软正在公开测试其首个完全自主训练的大语言模型——MAI-1-preview
  • week5-[二维数组]翻转
  • 【性能优化】Unity 渲染优化全解析:Draw Call、Batch、SetPass 与批处理技术
  • 整理python接口自动化相关——10、自动考虑点(待续)
  • 动态规划--Day02--爬楼梯--2466. 统计构造好字符串的方案数,2533. 好二进制字符串的数量,2266. 统计打字方案数
  • 匠心传承,古韵新生——记木雕名家龙巍的艺术人生
  • v-model与v-bind区别
  • 吴恩达机器学习作业五:神经网络正向传播
  • Python Imaging Library (PIL) 全面指南:PIL基础入门-图像合成与处理技巧
  • 基于 Python asyncio 和币安 WebSocket 打造高频加密货币预警机器人
  • TypeScript: Reflect.ownKeys 操作(针对 Symbol)
  • Lenovo C225 一体机拆机维修教程
  • 2025牛客暑期多校训练营4 G Ghost in the Parentheses 题解记录
  • LoRA三种不同训练流程在配置和保存权重的差异(64)
  • 《Shell 大道:筑基篇(下)—— 流控筑根基,数据任驱驰》
  • shell学习笔记-实战:创建、运行与变量操作