HTTP 代理服务器在 Windows 下的实现
摘要:本文介绍了代理服务器的优点,HTTP 代理服务器在 Windows 下的实现,最后
简单讨论实现代理服务器的意义。
关键字:
代理服务器(proxy)、HTTP、Windows、线程
普通的因特网访问是一个典型的客户机/服务器(Client/Server)结构:用户本地计算机
上的客户端程序如浏览器发生请求,远端 WWW 服务器程序响应请求并提供相应的数据。
而代理(Proxy)处于客户机和服务器之间,对于服务器来说,Proxy 是客户机,提出请求;
对于客户机来说,Proxy 是服务器,它接受请求并提供数据。
代理服务器模型
代理服务器具有以下几个的优点:
(一)安全屏障
Proxy 是建立在应用层的软件,它的最主要功能是作为 firewall 的重要组成部分,为它保
护的主机起到了安全屏障的作用。Proxy 起到流量控制,包过滤,访问控制,和操作系统用
户集成等作用,所以 Proxy 可以成为简单网络管理软件的核心部分,同时它也是中小型企业
INTERNER 访问解决方案的重要组成部分。
(二)提高网络性能
当Internet 的用户以指数函数增长时,网 络 的 拥挤是网络管理的一个重要问题。Proxy Server
就好像一个大储藏库, 它有很大的 Cache 空间。如果通过该 Proxy 有人去过了某个站点,传
输了某些内容,那么 Proxy 会将相关的资料 (包含文字、图型、多媒体……)备份一份在 Proxy
Server 中。当用户再要通过该 Proxy 访问相同地址时,可直接从 Cache 中获得数据。一个有
效的 Proxy 服务器将可能将 90%的用量控制在 Proxy 服务器之下。所以不仅用户的访问速度
将会提高,网络的拥挤状况也将会大大改观。
(三)多机共享一个 IP 地址
当一个局域网只有一个 IP 时,就可以在服务器上安装 Proxy,整个局域网的用户就可通过一
个 IP 访问 Internet 了,这样将会给局域网用户节省大量申请 IP 的费用。
WWW 代理服务器包括主要代理 gopher,http,ftp,Telnet 等几种服务,各种代理服务
的基本工作原理是相同的。HTTP 代理服务器是 WWW 代理服务器的一个最重要的组成部
分,同时 HTTP 的代理服务器的实现比较简单,因此在这里以它为样本介绍 Windows 下的
代理服务器的实现方法。本文只介绍的代理服务器数据包转发的实现方法,由于 Cache 的处
理比较复杂,所以本文不对其进行讨论。
1、Brower 通过 proxy 访问 Web Server 头文件的数据格式
由于不可能在此解释 HTTP 协议,所以只给出最简单的数据格式的例子:
动作:Brower 获得 http://202.196.48.9/index.htm
Brower 发送到 proxy 的数据:
Brower Proxy Server