是否有用于指定带有 URL 查询字符串的结构化数据的 IESG 标准


Is there an IESG standard for specifying structured data with URL query strings?

>上下文

这篇文章假设以下上下文:

  • 互联网工程指导小组 (IESG) 标准和 RFC
  • 指定结构化(非标量)数据类型的 URL 查询字符串

问题

PHP 似乎有一个在 URL 查询字符串中指定结构化数据类型的约定,但 Trevor 想知道这个约定是否由 IESG 或任何其他标准机构指定

下面的 PHP parse_str 函数示例演示了如何在 URL 查询字符串中使用特殊表示法指定 PHP 数组:

  $str = "alpha=one&arr[]=bravo+charlie&arr[]=delta";
  parse_str($str, $output);
  echo $output['alpha'];  // one
  echo $output['arr'][0]; // bravo charlie
  echo $output['arr'][1]; // delta

在上面的示例中,PHP 仅凭借 URL 查询字符串中的语法自动创建一个结构数据元素(数组)。

这很有用,因为它允许应用程序员以允许自动创建数组的方式分析 URL 查询名称-值对。

问题是,Trevor无法找到此约定的任何规范,或者这是否是PHP的特定语言功能。

问题

  • 是否有IESG认可的针对此特定公约的规范?
  • 如果以上是否否,是否有任何记录的约定用于在其他编程语言的查询字符串中指定结构化数据?

统一资源标识符 (RFC3986) 的 RFC 不为查询字符串指定除名称-值对之外的任何内容。第3.4节是相关的部分,但我已经阅读了整个文档,不记得提到你所指的内容。我相信这纯粹是语言实现者采用的惯例。