代码之家  ›  专栏  ›  技术社区  ›  DudeOnRock

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

  •  1
  • DudeOnRock  · 技术社区  · 11 年前

    我知道php的 http_build_query() url对查询字符串中的反斜杠字符进行编码。我还知道反斜杠是一个保留字符,因此这是该函数所需的行为。我见过我尊敬的程序员在他们的查询字符串中使用未编码的反斜杠,并且一直想这样做,让我的url看起来更好。当我避免对反斜杠进行url编码时,我会遇到什么不好的事情(如果有的话)?

    我甚至开始考虑打破url编码惯例的原因是,谷歌在查询字符串中使用了加号。有人知道他们这样做会发生什么不好的事情吗?

    我最终试图解决的问题是以某种方式界定我的 ?q=MVC 调用时使用一个可读、url安全的字符,而不必设置多个查询变量。

    1 回复  |  直到 11 年前
        1
  •  1
  •   georg    11 年前

    这个 RFC 非常清楚这一点:

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

    字符斜线(“/”)和问号(“?”)可能表示数据 在查询组件中。小心一些老的、错误的 实现可能无法正确处理此类数据。。。

    因此,在查询部分使用斜线是可以的(除非您必须处理2005年“旧”的实现)。