如果我不在查询调用中对反斜杠进行url编码,会发生什么不好的事情?

时间:2013-03-25 23:30:21

标签: php url url-encoding

我知道php的http_build_query() url-encoding对查询字符串中的反斜杠字符进行编码。我也知道反斜杠是一个保留字符,使其成为该函数的理想行为。我已经看到了我尊重的程序员在他们的查询字符串中使用未编码的反斜杠,并且一直希望这样做以使我的网址看起来更好一些。当我对反斜杠进行url编码时,我有什么不好的事情(如果有的话)?

我甚至开始考虑打破网址编码约定的原因是Google在查询字符串中使用了plusses。有谁知道他们为此做了什么坏事?

我最终试图解决的问题是以某种方式界定我的?q=MVC调用,其中包含一个人性化的,安全的url字符,而不必设置多个查询变量。

1 个答案:

答案 0 :(得分:1)

RFC对此很清楚:

  
    

query = *(pchar /“/”/“?”)

         

字符斜杠(“/”)和问号(“?”)可能代表数据        在查询组件中。要小心一些年纪大了,错了        实现可能无法正确处理此类数据...

  

所以在查询部分使用斜杠是很好的(除非你必须处理2005年“较旧”的实现)。