首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在RFC3986的上下文中,在“路径- the”一词中,“the”是什么意思?

在RFC3986的上下文中,在“路径- the”一词中,“the”是什么意思?
EN

Stack Overflow用户
提问于 2016-12-01 08:18:51
回答 3查看 2.1K关注 0票数 7

请参阅:https://www.rfc-editor.org/rfc/rfc3986#section-3

和:https://www.rfc-editor.org/rfc/rfc3986#section-3.3

“any”的起源对我来说是神秘的,快速搜索没有找到它的任何定义。

EN

回答 3

Stack Overflow用户

发布于 2016-12-30 19:47:31

正如您引用的rfc中其用法右侧的注释中所述,"abempty“意味着它的值可以是ab溶质路径,也可以是 so (abempty)。

票数 8
EN

Stack Overflow用户

发布于 2016-12-30 22:35:47

意思是远离空,描述路径与其前面权限的关系。当路径- and是相关的,高-部分由“//”,权威,和路径-and。授权组件可以是零长度方案:/是一个有效的URI。

但是,当权限为零长度且路径为空时,无法区分这两个组件,因此路径- and空路径-它“以"/”或“为空”(第3.3节),视情况而定。

资料来源:http://w3-org.9356.n7.nabble.com/path-abempty-in-URI-td170118.html (见Fielding对Petch.)

NB“abempty”一词不是“绝对”和“空”两个词的组合词。

请:

代码语言:javascript
复制
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

在“泛型”URI的上下文中,hier部分不是可选的。

代码语言:javascript
复制
hier-part = ("//" authority path-abempty) / path-absolute / path-rootless / path-empty

有趣的是,双斜杠在与路径相关的地方不是可选的。而且,稍微向前一跳,权威可能是零长度:

代码语言:javascript
复制
reg-name = *( unreserved / pct-encoded / sub-delims )

路径- and部分由“//”、权威和路径-and部分组成。路径-as被定义为:

代码语言:javascript
复制
path-abempty = *( "/" segment )

RFC声明:“当存在权限时,路径必须为空或以斜杠("/")字符开头。”如果reg-name为零长度,则对该语句的随意读取可能会表明以下URI是有效的:

代码语言:javascript
复制
scheme://

事实并非如此。下一句是:“当权限不存在时,路径不能以两个斜杠字符(‘//’)开头。”这意味着在解析以“means ://”开头的URI时,我们指出了零长度授权和零长度路径的可能性,否则我们就可以停止,因为URI将无效。

在这种情况下,即使不是普通情况,也无法从零长度路径中分辨出零长度权限。因此,当权限为零长度时,我们没有选择,路径必须以正斜杠开始(更准确地说,它必须匹配路径- and )并识别路径和权限;否则,我将再说一遍: URI将无效。

“The”一词并不意味着路径可能是绝对的,也可能是空的。这个词意味着这条路必须与权威区分开来,因此它是away的,也就是说,远离空的。

示例:

这个URI是模棱两可的,因为即使它有一个零长度的权限和一个零长度的路径,也无法从一个无效的URI中分辨出它,这个URI忽略了这个权限,并且有一个以两个正斜杠开头的路径。

代码语言:javascript
复制
scheme://

这个URI不是模棱两可的,因为它清楚地包含一个零长度权限和一个路径- and空路径。

代码语言:javascript
复制
scheme:///
票数 2
EN

Stack Overflow用户

发布于 2018-10-21 13:07:29

给出它在RFC 3986,3.3节中的定义和上下文:我确信abempty是一个绝对和空的portmanteau,而不是带拉丁语ab-前缀的空。

可能的路径模式定义为:

代码语言:javascript
复制
path-abempty  = *( "/" segment )                    ; begins with "/" or is empty
path-absolute = "/" [ segment-nz *( "/" segment ) ] ; begins with "/" but not "//"
path-noscheme = segment-nz-nc *( "/" segment )      ; begins with a non-colon segment
path-rootless = segment-nz *( "/" segment )         ; begins with a segment
path-empty    = 0<pchar>                            ; zero characters
  • 路径- an本质上是一个扩展的路径-绝对路径,与路径-空相结合.
  • 路径-绝对-或空-变为路径-path空。

免责声明

我的断言完全是基于推测,因为我找不到这个词的词源,也找不到它的发明者。因此,如果任何人有相关的知识,反驳或证实:请,请分享!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40905666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档