URL“方案加权限”的正式名称

问题描述 投票:0回答:2

假设绝对 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

因此,这两个术语都不合适。我正在看的部分有一个好的术语吗,还是我坚持“计划(加

://
)加权威”?

http url uri terminology rfc3986
2个回答
11
投票

实际上,根据当前 URL 标准,路径之前的 URL 部分的名称实际上只是 origin

URL 的

://
部分只是一个语法(或词法?)工件,在讨论使用或处理 URL 的任何内容的实际行为(当然除了低级解析器)时,从来没有真正需要提及它。

用户名-密码部分是一个不合格的错误功能,现在只能作为历史错误来讨论。 当前 URL 标准的相关部分有这样的说法;

没有一致的方式来表达 URL 的用户名或密码 记录在 URL 字符串中。

因此,在实践中,对于与当前标准定义 URL 的方式一致的 URL 的任何正常讨论,只需简单地谈论 URL 的最高级别部分就足够了,只有四个部分:它的 origin,它的 path ,它的 query(部分),以及它的 fragment(部分)。

当然,这至少是当前 URL 标准本身所限制的。


1
投票

只能是“方案加权威”。请记住,您不能拥有一个仅具有方案和权限的有效 URI,因此该组合不会作为一个单元进行讨论,因此最终不会有一个名称。

另请注意,HTTP URI 中从未允许使用 userinfo;特定方案可以禁止或限制特定部分的值。一些浏览器存在设计缺陷,它们会接受用户信息和基本身份验证标头,但现在大多数浏览器至少会警告这样做,如果他们允许的话。

© www.soinside.com 2019 - 2024. All rights reserved.