【问题标题】:Clarification on URI path component?澄清 URI 路径组件?
【发布时间】:2013-04-02 16:04:39
【问题描述】:

根据RFC 3986 Section 3 - Syntax Components

scheme 和 path 组件是必需的,尽管路径可能是 空(无字符)。

有人可以澄清如果路径组件可以为空,如何需要它?也许我在这种情况下误解了“必需”的定义,但我认为它的意思是“必须非空”,这显然与这里的规范相冲突。

【问题讨论】:

    标签: uri rfc rfc3986


    【解决方案1】:

    在这里,“必需”仅表示“始终存在”:方案和路径 绝对 URI 的组成部分始终存在。

    方案组件不能为空,因为生产 "scheme" 至少需要一个字符。

    路径组件可以为空,因为产生式 “path-empty”(“hier-part”的一部分)由零个字符组成。

    【讨论】:

    • 所以 component 是必需的,而不是 data?多么奇怪的区别。
    【解决方案2】:

    一个空的常见实际示例 - 更准确地说,一个 abempty - 路径是一个类似于 http://stackoverflow.com 的 URI,其中路径为空。仅凭权限组件(在本例中为 stackoverflow.com)不足以识别资源

    当权限为空时,路径必须以/ 开头,以便将路径与权限区分开来 - scheme:/// 是有效的 URI - 因此是 abempty 路径。另请查看this answer 以进一步阅读。

    【讨论】:

      猜你喜欢
      • 2021-02-03
      • 1970-01-01
      • 2013-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-14
      • 1970-01-01
      • 2013-04-02
      相关资源
      最近更新 更多