请参阅:https://www.rfc-editor.org/rfc/rfc3986#section-3
和:https://www.rfc-editor.org/rfc/rfc3986#section-3.3
“any”的起源对我来说是神秘的,快速搜索没有找到它的任何定义。
发布于 2016-12-30 19:47:31
正如您引用的rfc中其用法右侧的注释中所述,"abempty“意味着它的值可以是ab溶质路径,也可以是空 so (abempty)。
发布于 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”一词不是“绝对”和“空”两个词的组合词。
请:
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]在“泛型”URI的上下文中,hier部分不是可选的。
hier-part = ("//" authority path-abempty) / path-absolute / path-rootless / path-empty有趣的是,双斜杠在与路径相关的地方不是可选的。而且,稍微向前一跳,权威可能是零长度:
reg-name = *( unreserved / pct-encoded / sub-delims )路径- and部分由“//”、权威和路径-and部分组成。路径-as被定义为:
path-abempty = *( "/" segment )RFC声明:“当存在权限时,路径必须为空或以斜杠("/")字符开头。”如果reg-name为零长度,则对该语句的随意读取可能会表明以下URI是有效的:
scheme://事实并非如此。下一句是:“当权限不存在时,路径不能以两个斜杠字符(‘//’)开头。”这意味着在解析以“means ://”开头的URI时,我们指出了零长度授权和零长度路径的可能性,否则我们就可以停止,因为URI将无效。
在这种情况下,即使不是普通情况,也无法从零长度路径中分辨出零长度权限。因此,当权限为零长度时,我们没有选择,路径必须以正斜杠开始(更准确地说,它必须匹配路径- and )并识别路径和权限;否则,我将再说一遍: URI将无效。
“The”一词并不意味着路径可能是绝对的,也可能是空的。这个词意味着这条路必须与权威区分开来,因此它是away的,也就是说,远离空的。
示例:
这个URI是模棱两可的,因为即使它有一个零长度的权限和一个零长度的路径,也无法从一个无效的URI中分辨出它,这个URI忽略了这个权限,并且有一个以两个正斜杠开头的路径。
scheme://这个URI不是模棱两可的,因为它清楚地包含一个零长度权限和一个路径- and空路径。
scheme:///发布于 2018-10-21 13:07:29
给出它在RFC 3986,3.3节中的定义和上下文:我确信abempty是一个绝对和空的portmanteau,而不是带拉丁语ab-前缀的空。
可能的路径模式定义为:
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免责声明
我的断言完全是基于推测,因为我找不到这个词的词源,也找不到它的发明者。因此,如果任何人有相关的知识,反驳或证实:请,请分享!
https://stackoverflow.com/questions/40905666
复制相似问题