【发布时间】:2013-07-12 16:15:48
【问题描述】:
使用 HTTP 代理服务器,我知道请求会发送到代理,代理会向目标站点发出新请求,然后复制响应并创建 HTML 标记以相应地显示给用户。但是,如果响应的标记中包含外部 javascript 文件(来自目标站点)怎么办:
<script src="http://externalsite.com/whatever.js"></script>
我期待它们被重写为代理向用户显示的标记:
<script src="http://proxy.com/currentusercache/whatever.js"></script>
所以现在我完全糊涂了!
【问题讨论】:
-
代理只返回给定资源路径的数据当请求资源时给代理。仅此而已 - 客户端永远不需要知道差异,并且代理不会重写原始资源路径。 (一些匿名代理可以,但这是一个不同的话题!Squid 主要是缓存代理,而不是匿名代理。)
-
@user2246674 - 如果它是匿名代理会发生什么?
-
视情况而定。一个匿名代理通常会花费大量时间来重写它所服务的任何 HTML,以便所有资源路径都将使用所述代理或其他匿名服务。也就是说,即使是到
http://google.com?q=blahblah的链接也可能被重写为http://proxy/ASddfad789FD/whatever。 (但是,代理仍然不能影响原始 HTML - 只会影响它返回的 HTML。) -
好的,谢谢你的帮助
标签: javascript html browser proxy squid