本文由TZWSOHO通过收集网络资料整理而成(百度百科和英文维基百科),文中某些地方可能由于笔者本人技术水平有限而造成翻译上甚至是个人理解上的错漏,欢迎路过本文的各路英雄斧正。另若有需要转载时请高抬贵手标明出处,万分感谢!
代理服务器(Proxy Server)是一种重要的安全功能,它的工作主要在开放系统互联(OSI)模型的对话层,从而起到防火墙的作用。代理服务器大多被用来连接INTERNET(国际互联网)和INTRANET(局域网)。
例如,在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,是直接联系到目的站点服务器,然后由目的站点服务器把信息传送回来。代理服务器是介于客户端和Web服务器之间的另一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。在网址框中输入您要访问的网站地址,点击代理浏览便会打开新的窗口链接代理服务器,等待几秒即可,如果此时出现无法链接服务器等错误,请在上面尝试选择其它的服务器,因为代理服务器对资源的消耗比较大,并且存在时效性,因此有时候无法打开,必须多次尝试代理服务器。每天自动更新最新可用服务器。
大部分代理服务器都具有缓冲的功能,就好像一个大的Cache,它有很大的存储空间,它不断将新取得数据储存到它本机的存储器上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,这样就能显著提高浏览速度和效率。
常用的代理服务器类型有SOCKS代理(v4、v4a、v5),HTTP代理,FTP代理,Telnet代理等等,本文主要介绍SOCKS v4/v4a/v5和HTTP v1.1代理服务器的原理,以及使用VB.Net 2010编写代码来实现通过代理服务器收发信息。
由于SOCKS代理协议独立于其他应用层协议(如telnet, ftp, finger, whois, gopher, WWW等),故其可以为多种协议提供服务。不过由于大部分用户主要应用以浏览网页及游戏为主,所以HTTP代理协议的使用也极为普遍。
若要建立代理服务器来测试笔者推荐使用FreeProxy这款软件,它的功能比较全面,而且免费!
VB.Net 2010 实现的穿透代理发送数据的代码在这里下载,Win7 + VS2010 + FreeProxy 搭建的代理服务器测试成功,下载后请把后缀名修改为rar:http://hi.csdn.net/attachment/201101/10/0_1294641039F121.gif