http://blog.csdn.net/gobitan/article/details/1809763

总结: 转发代理服务器代理 client, 反向代理服务器代理server

转发代理服务器与反向代理服务器

说到代理服务器,大部分人都应该比较熟悉了。记得在学校的时候因为校园网无法访问国外网站,因此经常使用代理来访问国外的网站。但是提到反向代理服务器可能大部分人就比较陌生,对于一般的代理服务器与反向代理服务器的区别估计也不是那么清楚。

因工作需要就研究了一下,搞清了是怎么回事,这里做个笔记,也为大家所共享。

代理服务器通常分为两类,即转发代理(forward proxy)服务器和反向代理(reverse proxy)服务器。转发代理服务器又通常简称为代理服务器,我们常提到的代理服务器就指的是转发代理服务器。

转发代理服务器

普通的转发代理服务器是客户端与原始服务器之间的一个中间服务器。为了从原始服务器获取内容,客户端发送请求到代理服务器,然后代理服务器从原始服务器中获取内容再返回给客户端。客户端必须专门地配置转发代理来访问其他站点,如在浏览器中配置代理服务器地址及端口号等。

转发代理服务器的一个典型应用就是为处于防火墙后的内部客户端提供访问外部Internet网,比如校园网用户通过代理访问国外网站,公司内网用户通过公司的统一代理访问外部Internet网站等。转发代理服务器也能够使用缓存来缓解原始服务器负载,提供响应速度。

反向代理服务器

而反向代理服务器则相反,在客户端来看它就像一个普通的Web服务器。客户端不要做任何特殊的配置。客户端发送普通的请求来获取反向代理所属空间的内容。反向代理决定将这些请求发往何处,然后就好像它本身就是原始服务器一样将请求内容返回。

反向代理服务器的一个典型应用就是为处于防火墙后的服务器提供外部Internet用户的访问。反向代理能够用于在多个后端服务器提供负载均衡,或者为较慢的后端服务器提供缓存。此外,反向代理还能够简单地将多个服务器映射到同一个URL空间。

两者区别

两者的相同点在于都是用户和服务器之间的中介,完成用户请求和结果的转发。主要的不同在于:

(1)转发代理的内部是客户端,而反向代理的内部是服务器。即内网的客户端通过转发代理服务器访问外部网络,而外部的用户通过反向代理访问内部的服务器。

(2)转发代理通常接受客户端发送的任何请求,而反向代理通常只接受到指定服务器的请求。如校园网内部用户可以通过转发代理访问国外的任何站点(如果不加限制的话),而只有特定的请求才发往反向代理,然后又反向代理发往内部服务器。

我想现在已经对这个概念比较清晰了吧。

http://blog.csdn.net/gobitan/article/details/1809763的更多相关文章

  1. http://blog.csdn.net/java2000_wl/article/details/8627874

    http://blog.csdn.net/java2000_wl/article/details/8627874

  2. android 蓝牙 http://blog.csdn.net/u012843100/article/details/52384219

    http://blog.csdn.net/u012843100/article/details/52384219

  3. http://blog.csdn.net/krislight/article/details/9391455

    http://blog.csdn.net/krislight/article/details/9391455

  4. http://blog.csdn.net/shawnkong/article/details/52045894

    http://blog.csdn.net/shawnkong/article/details/52045894

  5. 使用C++扩展Python的功能 转自:http://blog.csdn.net/magictong/article/details/8897568#comments

    使用C++扩展Python的功能 环境 VS2005Python2.5.4 Windows7(32位) 简介 长话短说,这里说的扩展Python功能与直接用其它语言写一个动态链接库,然后让Python ...

  6. http://blog.csdn.net/hitmediaman/article/details/6636402

    http://blog.csdn.net/hitmediaman/article/details/6636402

  7. http://blog.csdn.net/iamshaofa/article/details/7877785/

    http://blog.csdn.net/iamshaofa/article/details/7877785/

  8. http://blog.csdn.net/z69183787/article/details/37819831

    http://blog.csdn.net/z69183787/article/details/37819831

  9. http://blog.csdn.net/u010246789/article/details/52539576

    http://blog.csdn.net/u010246789/article/details/52539576

随机推荐

  1. Linux命令之sort

    sort [选项] [文件] 对文本文件的行进行排序.常见的字符排序空字符串<数字<a<A<b<B...<z<Z (1).常用选项 -b,--ignore-l ...

  2. Linux系统的目录结构及各目录作用

    使用tree命令查看Linux目录结构,这个命令默认是没有安装的,需要手动安装一下. [root@xuexi xf]# mount /dev/sr0 /media/ mount: /dev/sr0 写 ...

  3. Flask实战第63天:评论布局和功能实现

    评论后端逻辑实现 设计评论模型表, 编辑apps.models.py class CommentModel(db.Model): __tablename__ = 'comment' id = db.C ...

  4. Python开发基础-Day24socket套接字基础2

    基于UDP的socket 面向无连接的不可靠数据传输,可以没有服务器端,只不过没有服务器端,发送的数据会被直接丢弃,并不能到达服务器端 #客户端 import socket ip_port=('127 ...

  5. Visual Studio Xamarin中找不到iOS模拟器

    Visual Studio Xamarin中找不到iOS模拟器 Visual Studio可以正常连接Mac系统,但是在测试时候,提示以下错误信息:Failed to start iOS Simula ...

  6. 搭建MySQL的主从、半同步、主主复制架构

    复制其最终目的是让一台服务器的数据和另外的服务器的数据保持同步,已达到数据冗余或者服务的负载均衡.一台主服务器可以连接多台从服务器,并且从服务器也可以反过来作为主服务器.主从服务器可以位于不同的网络拓 ...

  7. Microsoft SQL Server 2012 Internals

    http://blog.csdn.net/column/details/learnsqlserver2012.html

  8. 【shiro】使用shiro,点击页面请求总是302状态码

    解决方法: 配置shiro中,将要求放过的地址后面加上后缀,这里是.htmls 因为web.xml中配置所有的页面都是放过的

  9. 发一个比trace功能更强大debug工具,MonterDebugger

    经常看到兄弟说trace不出东西啊,这样给你调试会带来很多不便:加入说我们需要将运行时的debug信息和之前某个版本的进行比对:又加入说我们需要在运行时通过debug动态调整显示对象的属性:查看当前整 ...

  10. Netty游戏服务器二

    上节我们写个server主类,那么发现什么事情都干不了,是的,我们还没有做任何的业务处理. 接着我们开始写处理客户端连接,发送接收数据的类ServerHandler. public class Ser ...