查询字符串的结构与解析指南
URL 编码指南
查询字符串是 URL 中 ? 之后的部分,用于向页面传递额外信息。在 https://example.com/search?q=书&page=2 中,q=书&page=2 就是查询字符串。
构成规则
查询字符串是由 & 连接起来的 键=值 对。
?— 标记查询字符串的开始=— 分隔键与值&— 分隔多个键值对#— 结束查询字符串(其后是 fragment/哈希)
当值中包含特殊字符时
如果值里含有 & 或 =,就会与分隔符混淆,因此值必须用 encodeURIComponent 进行编码。例如搜索词为 a&b 时,必须写成 q=a%26b,参数才能保持完整。空格会根据编码方式表示为 %20 或 +,而解析时往往会把 + 还原为空格。
安全地解析
浏览器内置了 URLSearchParams 来安全地处理查询字符串。相比自己按 & 切分,改用这个 API 会自动处理编码、重复键和空值等各种特殊情况。
本站的查询参数解析标签会把粘贴进来的 URL 拆解为各个组成部分,并把每个参数的原始值与解码后的值并排展示。