Ruby和PHP使用的HTML表单嵌套序列化格式的名称及规范是什么?
回答
格式名称
这种约定式的表单参数编组规则通用名称是 嵌套查询字符串(Nested Query String),不同技术生态也会有更贴合自身实现的叫法:
- Ruby 生态常直接称其为 Rack 嵌套查询参数格式,对应你提到的
Rack::QueryParser#parse_nested_query实现 - PHP 生态一般叫表单数组参数规则
- 多数全栈框架文档里也会直接称它为表单嵌套参数格式
规范情况
这套解析规则没有正式的官方标准化规范,属于行业通用的事实标准:
它最早由 PHP 语言首创实现,用于简化复杂表单数据的接收逻辑,因为实用性极强,后续被 Ruby on Rails、Django、Express.js 等几乎所有主流服务端开发框架跟进支持,逐渐成了全行业默认遵守的参数解析约定。
需要注意的是,浏览器本身只会按application/x-www-form-urlencoded规则原样编码提交所有表单字段的name和value,中括号的嵌套解析逻辑完全是服务端框架层面自行实现的,不属于HTTP传输规范的一部分。
内容的提问来源于stack exchange,提问作者eikes
相关产品推荐
相关产品推荐

