澄清 URI 路径组件?
Posted
技术标签:
【中文标题】澄清 URI 路径组件?【英文标题】:Clarification on URI path component? 【发布时间】:2013-04-02 16:04:39 【问题描述】:根据RFC 3986 Section 3 - Syntax Components:
scheme 和 path 组件是必需的,尽管路径可能是 空(无字符)。
有人可以澄清如果路径组件可以为空,如何需要它?也许我在这种情况下误解了“必需”的定义,但我认为它的意思是“必须非空”,这显然与这里的规范相冲突。
【问题讨论】:
【参考方案1】:在这里,“必需”仅表示“始终存在”:方案和路径 绝对 URI 的组成部分始终存在。
方案组件不能为空,因为生产 "scheme" 至少需要一个字符。
路径组件可以为空,因为产生式 “path-empty”(“hier-part”的一部分)由零个字符组成。
【讨论】:
所以 component 是必需的,而不是 data?多么奇怪的区别。【参考方案2】:一个空的常见实际示例 - 更准确地说,一个 abempty - 路径是一个类似于 http://***.com
的 URI,其中路径为空。仅凭权限组件(在本例中为 ***.com
)不足以识别资源。
当权限为空时,路径必须以/
开头,以便将路径与权限区分开来 - scheme:///
是有效的 URI - 因此是 abempty 路径。另请查看this answer 以进一步阅读。
【讨论】:
以上是关于澄清 URI 路径组件?的主要内容,如果未能解决你的问题,请参考以下文章
使用 React-Native 将 content:// URI 转换为 Android 的实际路径