代理服务器:
用户的浏览器的所有请求都会指向代理服务器,
后者把请求信息转发即可,
收到的信息给浏览器返回即可。
不管是HTML本身,js文件,图片文件等等,它们都是一次请求,
代理服务器对浏览器来说可以认为是透明的,浏览器请求信息,得到信息,很好。
而WEB版的代理,得到GET请求后,转发这个GET请求,
得到的信息要经过处理后才能返回给客户端。
HTML中的js,图片,form的action等等都是指向请求URL的,
需要替换这些URL,让它们首先指向WEB代理,WEB代理收到后转发请求,
并返回取得的信息。
难度所在:替换URL,HTML中的形式多种多样,比如URL跳转可能是js发出的,图片url可能是js生成的,HTML书写的格式也是多种多样,识别就是一个问题。
由于用户访问的是WEB代理,URL是WEB代理的URL,而内容是实际访问页面的内容,URL不一致,可能导致js脚本出错。类似这样的问题。
|