IT技术博客大学习 共学习 共进步

HTTP 正向代理与反向代理

小小子 2013-05-01 22:34:51 浏览 4,982 次

   代理作为客户端与服务端通信的中间人,代替客户端与服务端交流。对于客户端,代理的角色是服务端用来发送响应;对于服务端,代理的角色是客户端用来发送请求。

   为什么要使用代理?

   基于伟大的防火长城,类似TWITTER、FACEBOOK、YOUTUBE等网站是基本无法访问的,通知我们需要拨通VPN或使用在线代理来翻跃那座可恶的墙。这里VPN及在线代理的作用就是一个正向代理:由客户端主动设置,通过代理连接指定服务端!

   个人理解,防火长城其实也是属于代理的一种,它在监控着国人对互联网另一端的请求。当发现你请求的网站涉及危害幼小心灵,容易引你走向歧途时,会将服务器另一端的返回(或者是你的请求直接给断掉)给拦截住,而返回给你一个无法打开页面的错误提示。 这时代理起的作用是过滤内容,净化网络环境!

   记得上大学时,上机操作时仅有“管理员”(我们暂称为网管吧)的机器能连接外网。其余人只能玩玩蜘蛛纸牌,因为不能上网。通常我们贿赂一下网管,许诺共享一些大片网站,让他开一下代理,我们通过他的机器来连接外网,享受美国、日本人民对我们无私的性教育与启蒙。这时,代理起的作用是网络访问控制,由客户端主动配置代理服务器,借此通过代理服务器来访问其他服务端,这种属于正向代理

   经常听OPS同学提起:搭建反向代理。什么是反向代理?

   其实反向代理是指在服务端搭建代理,接收客户端的请求,并将请求转给其他服务器,用来实现与其他服务器之间的通信 ,以便按需求定位所请求的内容。适合做两件事:负载均衡(LVS是否属于反向代理的一种?)、提升性能与用户感受(利用服务器端资源在电信搭建代理通过内部光纤,为电信用户访问网通资源更快捷)如下:

   电信用户A——>网通服务器获取文件 速度较慢,用户骂娘

   电信用户A——>电信代理服务器——>通过光纤——>网通服务器获取文件  速度较快,用户开心

   一般正向代理是由用户主动设置,客户端需要进行配置。而反向代理用户无感知,服务器端对服务器端进行代理!

   本文参考资料:《HTTP 权威指南》第6章:代理

建议继续学习

  1. 让安卓手机通过代理翻墙的方法 (阅读 8,803)
  2. 代理的加密部分 (阅读 8,247)
  3. 关于 SOCKS 代理的远端 DNS 解析 (阅读 7,745)
  4. 关于不得不在python中使用代理访问网络的方法 (阅读 4,943)
  5. nginx.conf控制指定的代理ip和ip访问的设置手记 (阅读 4,627)
  6. 关于http代理 (阅读 4,525)
  7. 使用 Perl 实现 HTTP 代理 (阅读 4,005)
  8. socks5代理服务器的配置 (阅读 3,862)
  9. 代理的本地部分 (阅读 3,784)
  10. 代理的远程部分 (阅读 3,164)