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

在GET请求中传递URL时不进行URL编码的含义是什么?

  •  2
  • Srikanth  · 技术社区  · 14 年前

    我刚刚尝试了以下网址: http://www.google.com/search?hl=en&q=http://www.yahoo.com/path/to/location 在我的浏览器上,它工作了!是什么让它起作用的?为什么要编码URL而不是用+或%20等替换空格?也就是说,即使在有效的URL中没有任何不允许的字符,我仍然需要对URL进行编码吗?

    谢谢你的时间。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Peter Hilton    14 年前

    您的浏览器可能在发送请求之前对您键入的URL进行了URL结束编码。您应该能够通过检查实际的HTTP请求来检查这一点。例如,在firefox中,您可以使用livehttpheaders来实现这一点。

        2
  •  1
  •   Entity    14 年前

    浏览器通常会自动对URL进行编码,并且可能会显示或不显示已编码的URL。一个PHP脚本可以自动编码,也可以不自动编码…如果不这样做,就会导致URL解析错误或其他问题。