http协议-代理服务(proxy)

一.代理服务器

代理服务器接受客户端的请求,并且转发给其它服务器。

使用代理的主要目的是:

  • 缓存
  • 负载均衡
  • 网络访问控制
  • 访问日志记录

代理服务器分为 正向代理(forward proxy) 和 反向代理两种(Reverse Proxy):

  • 用户察觉得到正向
  • 理的存在。


  • 而反向代理一般位于内部网络中,用户察觉不到。


正向代理和反向代理的区别如下

位置不同 

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

代理对象不同 

  • 正向代理,代理客户端,服务端不知道实际发起请求的客户端; 
  • 反向代理,代理服务端,客户端不知道实际提供服务的服务端; 

注:正向代理–HTTP代理为多个人提供翻墙服务;反向代理–百度外卖为多个商户提供平台给某个用户提供外卖服务。

用途不同 

  • 正向代理,为在防火墙内的局域网客户端提供访问Internet的途径; 
  • 反向代理,将防火墙后面的服务器提供给Internet访问;

安全性不同 

  • 正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此必须采取安全措施以确保仅为授权的客户端提供服务; 
  • 反向代理都对外都是透明的,访问者并不知道自己访问的是哪一个代理。

正向代理的应用

  • 访问原来无法访问的资源 
  • 用作缓存,加速访问速度 
  • 对客户端访问授权,上网进行认证 
  • 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理的应用

  • 保护内网安全 
  • 负载均衡 
  • 缓存,减少服务器的压力 

 Nginx作为最近较火的反向代理服务器,安装在目的主机端,主要用于转发客户机请求,后台有多个http服务器提供服务,nginx的功能就是把请求转发给后台的服务器,决定哪台目标主机来处理当前请求。

总结

正向代理是从客户端的角度出发,为特定的用户(比如说一个局域网内的客户)提供非特定的服务;

反向代理正好与此相反,从服务端的角度出发,将特定的服务提供给于非特定用户(通常是所有用户)。 

 

二.网关

与代理服务器不同的是,网关服务器会将 HTTP 转化为其它协议进行通信,从而请求其它非 HTTP 服务器的服务。

 

三. 隧道

使用 SSL 等加密手段,在客户端和服务器之间建立一条安全的通信线路。

 

参考  谈一谈 正向代理和反向代理