通常的解释是在访问代理的时候使用绝对的URL,不经过代理的时候使用的是相对的URL,我查看了RFC2616,发现如下解释:
If a proxy receives a host name which is not a fully qualified domain name, it
MAY add its domain to the host name it received. If a proxy receives a fully
qualified domain name, the proxy MUST NOT change the host name.
说的是经过代理的时候,如果不是绝对URL,代理可能会帮你加上,也仅仅是可能。
我在使用wireshark抓包,抓的是本地网卡的包,如果设置了代理,则使用绝对的URL;如果不设置代理,则使用相对的URL较多。这个行为是不是浏览器给加上的?如果不是使用本地代理,而是远程的HTTP代理,使用的是绝对的还是相对的?有没有大神给一个权威的回答。
既然标准里说的是MAY,就要看具体代理服务器是怎么实现的。不同的代理服务器行为不一样,很正常。
本地代理和远程代理,对于浏览器没有任何区别。测试的时候,最好用两台机器测,这样比较清晰。
规范给的是必须实现的部分,对于这些细节不会规定那么死的。你测试的软件和网上提供的代理很大程度上不会一样,所以。。。以规范为参照吧。。。