URL查询字符串中的正斜杠/是否需要进行转义处理?
结论先行
两种写法在绝大多数场景下都能正确表达key = "ab/cd"的含义,不是必须对/做百分号编码。
具体规则说明
- 根据URI标准规范RFC 3986,
/属于保留字符,原本的作用是分隔URI的路径段,并不涉及查询参数(?之后的部分)的解析逻辑,所以主流的Web服务器、后端框架都会正确把查询参数里未编码的/当成参数值的一部分处理。 - 只有少数特殊场景才需要把
/编码为%2F:比如你用的服务端有自定义路由规则、反向代理存在特殊配置,会错误把查询参数里的/识别成路径分隔符,导致请求路由错误,这种场景才需要强制编码保证兼容。 - 如果你的参数值本身是文件路径、嵌套URL这类包含大量
/的内容,统一做编码会更稳妥,能完全避免不同解析器的兼容问题。
内容的提问来源于stack exchange,提问作者Ciro Santilli OurBigBook.com
相关产品推荐
相关产品推荐

