0.Introduction
代理
(proxy
)
,也称网络代理
,是一种特殊的网络服务器
,允许一个网络终端
(一般为客户端
)通过这个服务与另一个网络终端
(一般为服务器
)进行非直接的连接。一些网关
,路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全
,防止攻击。
提供代理服务的电脑系统或其它类型的网络终端称为代理服务器。
一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器锁使用的代理协议,请求对目标服务器创建链接,或者获得目标服务器的指定资源(如:文件)。在后一种情况中
,代理服务器并不会向目标服务器发送请求
,而是直接返回缓存了的资源。一些代理协议允许代理服务器改变客户端的原始请求
,目标服务器的原始响应
,以满足代理协议的需要。
反向代理(Reverse proxy)方式是指以代理服务器方式来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
通常的代理服务器
,只用于代理内部网络对internet的连接请求
,客户机必须指定代理服务器
,并将本来要直接发送到web服务器上的http请求发送到代理服务器中。由于外部网络上的主机并不会配置并使用这个代理服务器
(
外部网络上的主机指的是没有配置代理服务器的主机)
,普通代理服务器也被设计为在internet上搜寻多个不确定的服务器
,而不是针对internet上多个客户机的请求访问某一个固定的服务器
,因此普通的web代理服务器不支持外部对内部网络
(
这里的内部网络我觉得应该指的是服务器集群)的访问请求。
当一个代理服务器能够代理外部网络上的主机
,访问内部网络时
,这种代理服务的方式称为反向代理服务。此时代理服务器对外就表现为一个web服务器
,外部网络就可以把它当作一个标准的web服务器而不需要特定的配置。
废话不说
,上图
可以看出代理服务器来代替我们客户端与服务器进行连接