一、定义

正向代理是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

反向代理实际运行方式是代理服务器接受网络上的连接请求。它将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给网络上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

可以这么认为,对于正向代理,代理服务器和客户端处于同一个局域网内;而反向代理,代理服务器和源站则处于同一个局域网内。

二、用途

正向代理

突破访问显示:通过代理服务器,可以突破自身ip访问限制,访问国外网站等;

提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,会将部分请求的响应保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度;

提高客户端的安全性和性能。

反向代理

负载均衡:根据服务器的负载情况,将客户端请求分发到不同的真实服务器上,从而避免过载;

提高访问速度:反向代理服务器可以对静态内容及短时间内有大量访问请求的动态内容提供缓存服务,提高访问速度;

防止被攻击:如果网站使用反向代理,则其服务器地址是隐藏的;

缓存:反向代理服务器可以用来缓存网站内容,提高网站性能;

SSL加密:为每个用户加密和解密安全套接字层(SSL)通信对于源服务器可能无效,反向代理可以通过加密和解密所有请求来完成这项工作。

三、异同点

相同点

都起到了连接与保护的作用,正向代理和反向代理所处的位置都是客户端和真实服务器之间,所做的事情也都是把客户端的请求转发给服务器,再把服务器的响应转发给客户端。

都能提高访问速度。

不同点

正向代理是用户客户端的代理,服务器不知道真正的客户端是谁;反向代理是服务器的代理,客户端不知道真正的服务器是谁;

正向代理架设在客户机和目标主机之间,反向代理架设在网络服务器端;

正向代理主要是用来解决访问限制问题;反向代理则是提供负载均衡、安全防护等作用。