在GET请求中传递URL时不执行url编码会有什么影响?

时间:2010-10-29 13:30:10

标签: url url-encoding

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

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

浏览器通常会自动对网址进行编码,可能会也可能不会对其进行编码。 PHP脚本可能会自动编码也可能不会自动编码...如果没有,则会导致URL解析错误等。

答案 1 :(得分:1)

您的浏览器可能会在发送请求之前对您键入的URL进行URL编码。您应该能够通过检查实际的HTTP请求来检查这一点。例如,在Firefox中,您可以使用LiveHttpHeaders执行此操作。