You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTTP URL参数字符串的合法格式有哪些?特殊格式是否有效?

HTTP URL参数格式合法性解析

一、常规键值对格式

日常使用的something.php?key1=value1&key2=value2是完全符合HTTP规范的标准参数格式,也是最通用的写法:

  • 单个参数采用键=值的结构
  • 多个参数之间用&分隔

二、参数值包含=的格式:something.php?some=thing=blah

这个格式本身是合法的。HTTP URL语法允许=出现在参数值中,不过大部分服务器的默认参数解析逻辑会把第一个=作为键和值的分隔符,最终解析结果为:

  • 键:some
  • 值:thing=blah

如果公司API文档里这个写法是想表达其他逻辑(比如键为some=thing),那这个写法就不符合常规解析约定,必须依赖自定义的参数解析规则才能生效。

三、带[]的数组式参数格式:something.php?foo[]=bar&foo[]=fighters

这个格式同样合法,它属于后端框架层面的通用约定(比如PHP、Python的Flask/Django等都支持):

  • 参数名里的[]用来标识该参数是数组类型
  • 后端通常会把foo解析为包含bar和fighters两个元素的数组

虽然[]在URL标准里属于需要编码的字符(编码后为%5B和%5D),但现在大部分浏览器和服务器都会自动处理编码和解码,直接写foo[]也能正常工作。

内容的提问来源于stack exchange,提问作者HealerLolCat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 07:47:34