`
mouer
  • 浏览: 97738 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

代理服务器的工作原理

阅读更多

代理服务器是建立在TCP/IP协议应用层上的一种服务软件,是以HTTP协议为基础的。工作过程简单来说分为4步:

1.客户端向服务器发送的请求到达代理服务器;

2.代理服务器把请求转发给客户端真正需要联系的服务器;

3.服务器向代理服务器返回响应;

4.代理服务器把响应返回给客户端。

下面我们以一个内网客户端通过代理服务器访问Internet上的远程Web服务器的过程为例,来较为深入地了解代理服务器的工作原理,如图



 

启动代理服务器,此时代理服务器主进程会一直监听某个绑定的端口,同时会初始化代理服务器缓存。

客户端A向代理服务器发出访问Web服务器资源的请求。

当代理服务器主进程监听到客户端A发来了请求,便会创建一个子进程应对客户端A发来的请求;而主进程继续进行监听工作。

已创建的代理服务器子进程与客户端建立连接,读取客户请求并对客户请求进行解析,然后依照在代理服务器上预设的访问规则列表,检验当前接收到的请求;如果请求满足规则约束,则可以在代理服务器缓存中查找是否存在所需要的信息。

子进程开始查询缓存,根据查询结果做出不同处理。

一种情况是在缓存中命中客户端A请求的信息,并且该信息没有过期,则将信息直接传送给客户端。依据具体的缓存更新算法更新代理服务器缓存。

另一种情况是缓存中命中客户端A请求的信息,并且该信息已经过期,则该子进程代理客户端A向目标Web服务器发出请求。

目标Web服务器响应代理服务器子进程发来的请求,同时代理服务器子进程依据具体的缓存更新算法更新代理服务器缓存。

代理服务器子进程将目标Web服务器回应的信息转送给客户端A。

代理服务器子进程处理完客户端A的代理服务后,进程自动终止,所有相关资源(各种连接)全部释放。

其他客户端的请求过程同上。

  • 大小: 93.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics