为什么所有的代理服务器都实现在 OSI 模型的应用层,而不是网络层?是否可以在网络级别实现代理服务器?比如在网关服务器上?
公司代理几乎总是用于在离开本地网络之前通过服务器路由所有外部流量。
我的理解是,从理论上讲,这应该在网络级别而不是应用程序级别上处理。实际上,在应用程序级别配置代理设置是有问题的:
- 代理设置不是特定于网络的。
- 网络连接握手(即 DHCP 握手)期间不提供代理设置
- 代理设置往往会持续存在。当代理服务器不再可访问时,这会导致延迟或阻止连接(例如,客户端正在连接到不同网络上的 Internet)
我很欣赏在应用程序级别代理的有效用例。但是,我不禁认为代理的最常见用途是该技术的不良应用。