IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

HTTP 正向代理与反向代理

小小子 2013-05-01 22:34:51 累计浏览 5,106 次
本机暂存

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

   为什么要使用代理?

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

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

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

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

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

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

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

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

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

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 浅析http协议、cookies和session机制、浏览器缓存 (累计阅读 17,446)
  2. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,933)
  3. libcurl的使用总结(二) (累计阅读 15,083)
  4. 使用python爬虫抓站的一些技巧总结:进阶篇 (累计阅读 13,300)
  5. HTTP协议Keep-Alive模式详解 (累计阅读 12,103)
  6. 你必须了解的Session的本质 (累计阅读 11,440)
  7. curl 命令使用cookie (累计阅读 10,015)
  8. Hello! 404 (累计阅读 9,384)
  9. 解决 nginx 反向代理网页首尾出现神秘字符的问题 (累计阅读 9,094)
  10. POST与GET的区别及RESTful (累计阅读 7,862)