在这里阅读并查看示例后
给定 uri 的例子:
http://a/b/c/d;p?q
重定向到"g"
会将我重定向到 http://a/b/c/g
(因为 c 是目录)
所以我问自己什么时候应该使用./g
它实际上是相同的[转到当前文件夹并找到g
]
那么为什么这种语法甚至存在?./
我应该什么时候使用它?
通用 URI 语法由称为方案、权限、路径、查询和片段的组件的分层序列组成。
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
hier-part = "//" authority path-abempty
/ path-absolute
/ path-rootless
/ path-empty
方案和路径组件是必需的,但路径可能为空(无字符)。存在权限时,路径必须为空或以斜杠 ("/") 字符开头。当权限不存在时,路径不能以两个斜杠字符(“//”)开头。这些限制导致路径有五个不同的 ABNF 规则(第 3.3 节),其中只有一个会匹配任何给定的 URI 引用。
The following are two example URIs and their component parts:
foo://example.com:8042/over/there?name=ferret#nose
\_/ \______________/\_________/ \_________/ \__/
| | | | |
scheme authority path query fragment
| _____________________|__
/ \ / \
urn:example:animal:ferret:nose
我会这样说:
这个构造存在(或被创建/定义)没有特殊原因。它之所以存在,是因为它是其他结构(.
、/
、/g
)的逻辑组合,这些结构是必需的,因此是出于其他原因而定义的。由于这些结构(此处的路径组件)可以或多或少地组合而不受限制,因此有问题./g
的结构是明确定义的,因此是有效的。但这并不意味着必须有特殊的理由来解释为什么要定义或必须定义这个构造。