在查询字符串中使用逗号可能产生的副作用?

时间:2017-08-15 04:41:18

标签: url query-string urlencode rfc3986

我想在URL查询字符串值中使用,,但it is reserved character。但是,我们可以看到很多电子商务网站在这些日子里都提供了逗号 - 精彩的查询字符串。

我们在查询字符串中使用,时会考虑什么?它应该始终编码为%2c吗?

请注意,我的服务器端框架是ASP.NET WebApi,dJango和Node.js.

1 个答案:

答案 0 :(得分:2)

URI标准没有为query component定义任何分隔符。因此,没有任何保留字符在那里具有特殊作用,它们都代表数据。

查询组件may contain以下字符:

  
      
  • a - zA - Z
  •   
  • 0 - 9
  •   
  • / ? : @ ! $ & ' ( {{ 1}} ) * + , ; = - . _
  •   
  • 百分比编码字符
  •   

因此,您可以在查询组件中使用~和/或,请注意,%2C,不等同于规范化目的(因为%2C保留集合的一部分)。

以上所有内容都与通用URI语法有关。 URI方案可以为某些组件定义额外的分隔符(来自保留的集合),但http / https URI方案规范不会对查询组件执行此操作。 / p>

可能的副作用(与许多其他允许的角色一样)也是some auto-linking algorithms might not work correctly

(你使用的应用程序当然可以在查询字符串中使用,做一些特定的事情,但这对于这个角色来说没有什么特别之处,它也可能与任何其他角色一起发生。)