假设绝对 http 或 https URL。我正在为路径之前的 URL 部分寻找“官方”或普遍接受的名称。
http://foo:[email protected]:8042/over/there?name=ferret#nose
\_____________________________/
|
this part
RFC 3986定义了URL语法部分如下:
http://foo:[email protected]:8042/over/there?name=ferret#nose
\__/ \______________________/\_________/ \_________/ \__/
| | | | |
scheme authority path query fragment
RFC 6454 将 URL 的来源(如“同源”)定义为三元组(方案、主机、端口):
http://foo:[email protected]:8042/over/there?name=ferret#nose
\__/ \______________/
\________________/
|
origin
因此,这两个术语都不合适。我正在看的部分有一个好的术语吗,还是我坚持“计划(加
://
)加权威”?
实际上,根据当前 URL 标准,路径之前的 URL 部分的名称实际上只是 origin。
URL 的
://
部分只是一个语法(或词法?)工件,在讨论使用或处理 URL 的任何内容的实际行为(当然除了低级解析器)时,从来没有真正需要提及它。
用户名-密码部分是一个不合格的错误功能,现在只能作为历史错误来讨论。 当前 URL 标准的相关部分有这样的说法;
没有一致的方式来表达 URL 的用户名或密码 记录在 URL 字符串中。
因此,在实践中,对于与当前标准定义 URL 的方式一致的 URL 的任何正常讨论,只需简单地谈论 URL 的最高级别部分就足够了,只有四个部分:它的 origin,它的 path ,它的 query(部分),以及它的 fragment(部分)。
当然,这至少是当前 URL 标准本身所限制的。
只能是“方案加权威”。请记住,您不能拥有一个仅具有方案和权限的有效 URI,因此该组合不会作为一个单元进行讨论,因此最终不会有一个名称。
另请注意,HTTP URI 中从未允许使用 userinfo;特定方案可以禁止或限制特定部分的值。一些浏览器存在设计缺陷,它们会接受用户信息和基本身份验证标头,但现在大多数浏览器至少会警告这样做,如果他们允许的话。