1

我知道 php 的http_build_query()url-encodes 查询字符串中的反斜杠字符。我也知道反斜杠是一个保留字符,这使它成为该函数所需的行为。我见过我尊重的人,因为程序员在他们的查询字符串中使用未编码的反斜杠,并且一直想做同样的事情来让我的网址看起来更好一点。在避免对我的反斜杠进行 url 编码时,我必须期待哪些坏事(如果有的话)?

我什至开始考虑打破 url 编码约定的原因是谷歌在他们的查询字符串中使用加号。有谁知道他们这样做会发生什么坏事?

我最终要解决的问题是以某种方式?q=MVC用人类易读、url 安全的字符来分隔我的调用,而不必设置多个查询变量。

4

1 回答 1

1

RFC对此非常清楚:

查询 = *( pchar / "/" / "?" )

字符斜线(“/”)和问号(“?”)可以表示查询组件内的数据。请注意,一些较旧的错误实现可能无法正确处理此类数据......

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

于 2013-03-25T23:38:18.087 回答