URI Terminology (URI 术语表)
本术语表汇总了 RFC 3986 中定义的核心概念和术语。
核心概念
URI (Uniform Resource Identifier, 统一资源标识符)
一个紧凑的字符序列,用于标识抽象或物理资源。URI 提供了一种简单且可扩展的方式来标识资源。
特性:
- Uniform (统一): 允许不同类型的资源标识符在同一上下文中使用
- Resource (资源): 可以是任何可被标识的事物
- Identifier (标识符): 区分一个资源与所有其他资源
URL (Uniform Resource Locator, 统一资源定位符)
URI 的一个子集,除了标识资源外,还提供了访问资源的方法(通过描述其主要访问机制)。
URN (Uniform Resource Name, 统一资源名称)
URI 的一个子集,即使资源不再存在或不可用,URN 仍需保持全局唯一性和持久性。
URI 组件
Scheme (方案)
URI 的第一个组件,定义了 URI 其余部分的结构和语义。
格式: scheme:scheme-specific-part
示例: http, https, ftp, mailto, file
Authority (授权)
由用户信息(可选)、主机和端口(可选)组成的组件。
格式: [userinfo@]host[:port]
示例: user:[email protected]:8080
User Information (用户信息)
包含用户名和可选的身份验证信息。
Host (主机)
可以是注册名称或 IP 地址(IPv4 或 IPv6)。
Port (端口)
与主机关联的端口号。
Path (路径)
包含通常以分层形式组织的数据,用于标识授权范围内的资源。
示例: /path/to/resource
Query (查询)
包含非分层数据,与路径数据一起标识资源。
格式: ?key1=value1&key2=value2
Fragment (片段)
允许间接标识次级资源,通过引用主要资源中的某个部分。
格式: #section-name
字符编码
Percent-Encoding (百分号编码)
使用百分号 % 后跟两个十六进制数字来表示字符的机制。
格式: %XX (其中 XX 是十六进制数字)
示例: 空格编码为 %20
Reserved Characters (保留字符)
在 URI 语法中具有特殊含义的字符。
通用定界符: : / ? # [ ] @
子定界符: ! $ & ' ( ) * + , ; =
Unreserved Characters (非保留字符)
允许在 URI 中使用而无需百分号编码的字符。
字符集: A-Z a-z 0-9 - . _ ~
引用类型
URI Reference (URI 引用)
可以是 URI 或相对引用。
Relative Reference (相对引用)
相对于另一个 URI(称为基础 URI)的引用。
示例: ../resource, ./file.html, #fragment
Absolute URI (绝对 URI)
包含方案但不包含片段的 URI。
Same-Document Reference (同文档引用)
由空字符串或仅包含片段组件的引用。
处理操作
Resolution (解析)
将相对引用转换为绝对 URI 的过程。
Dereference (解引用)
使用访问机制对 URI 的资源执行操作。
Retrieval (检索)
使用 URI 获取其关联资源的表示形式。
Normalization (规范化)
将 URI 转换为规范形式以便进行比较的过程。
比较方法
Simple String Comparison (简单字符串比较)
逐字符比较两个 URI。
Syntax-Based Normalization (基于语法的规范化)
应用与方案无关的规范化规则。
包括:
- 大小写规范化(方案和主机不区分大小写)
- 百分号编码规范化
- 路径段规范化(移除
.和..)
Scheme-Based Normalization (基于方案的规范化)
应用特定于方案的规则。
示例: 为 HTTP URI 添加默认端口 :80
Protocol-Based Normalization (基于协议的规范化)
需要访问资源来确定等价性。
设计考虑
Transcription (转录)
URI 设计考虑了全局转录,使用有限字符集以便于跨语言和区域输入。
Hierarchical Identifiers (分层标识符)
URI 语法按重要性递减从左到右分层组织。
Late-Binding (后期绑定)
URI 引用的结果通常在访问时确定,可能随时间或交互的其他方面而变化。
相关术语
- Base URI (基础 URI): 用于解析相对引用的绝对 URI
- Representation (表示): 资源在特定时间点的状态记录
- Character Encoding (字符编码): 字符到八位字节的映射
- Dot Segment (点段): 路径段
.或..,用于相对路径导航