文件名称:网络代理程序基础-lte系统级模拟仿真器说明书
文件大小:2.67MB
文件格式:PDF
更新时间:2024-06-23 12:02:46
Delphi 网络 高级编程
10.1 网络代理程序基础 10.1.1 使用代理的原因 使用代理来间接访问网络资源,一般基于以下几个原因: 在局域网情况下,可以使用的外部 IP地址资源一般是比较有限的,所以要通过网络 代理服务,让内部 IP主机也可以访问 Internet资源; 由于安全方面的考虑,需要防火墙来控制内部网络和 Internet 的信息传输,网络代 理这个时候就可以作为防火墙的门户; 由于没有和需要访问的目标主机直接打交道,因此客户端可以隐藏自身的 IP地址, 目标主机只能知道代理服务器的 IP地址; 使用网络代理(主要是 HTTP网络代理),可以利用它的 cache功能减少网络流量, 提高浏览效率; 使用代理,可以绕过一些网络上的访问限制,获取直接访问无法获得的信息。 10.1.2 网络代理的原理 通常所说的代理(Proxy)就是一个中间程序,它本身既作为一个服务器接收内部主机的 请求,同时也是一个客户机,根据内部主机的请求建立外部连接。网络代理有不理解协议和 理解协议两种形式。对于不理解协议的代理,只是负责在内部主机和目标主机之间传递消息。 Socks代理就是这种类型的网络代理。后面介绍的 TELNET代理程序本质上也是这种类型的。 用 Socks 作代理时,内部主机需要根据 Socks 协议定义的标准格式告诉 Socks 服务器需要连 接的目标 IP地址,由 Socks服务器负责建立连接。连接建立之后 Socks服务器就在内部主机 和目标主机之间原封不动地传递信息。对于理解协议的网络代理,每一个请求都需要经过内 部翻译。该网络代理在转发请求之前,必须重新构造该请求。常见的 HTTP 网络代理软件一 般都属于理解协议代理的类型。 对于代理的客户端程序,就是通过特定协议规定的格式和代理服务器进行交互,并通过 向代理服务程序发送请求来间接获取网络上的各种资源。在客户端程序和代理服务之间的协 商完毕之后,整个程序的工作和直接访问网络资源并没什么两样。