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. 单能X射线产生方法

    主要是荧光 利用布拉格准则, 关键词如下.. 国内有些专利 monochromating crystal spectrometer 物理实验设备名称翻译 ... 单色光检糖计 monochromati ...

  2. 挑战python 之一马当先(python的广搜)

    下过象棋的人都知道,马只能走'日'字形(包括旋转90°的日),现在想象一下,给你一个n行m列网格棋盘, 棋盘的左下角有一匹马,请你计算至少需要几步可以将它移动到棋盘的右上角,若无法走到,则输出-1. ...

  3. 【BZOJ 1004】【HNOI 2008】Cards

    http://www.lydsy.com/JudgeOnline/problem.php?id=1004 注意数据给出的m是一个没有单位元的置换群! 用Burnside引理,然后对每个置换群dp一下就 ...

  4. 【最短路】【spfa】CDOJ1647 酌贪泉而觉爽, 处涸辙以犹欢。

    题意: 给你一个全为0的01串,问你能否通过一系列的变换,得到全为1的01串. 分析: 将每个01串看作一个点,每一个变换可以看作是一条有向边,现在问题可以转化 为找从“00..0”这个点到“11.. ...

  5. 【贪心】【set】zoj3963 Heap Partition

    贪心地从前往后扫,每到一个元素,就查看之前的元素中小于等于其的最大的元素是否存在,如果存在,就将它置为其父亲.如果一个结点已经是两个儿子的父亲了,就不能在set中存在了,就将他删除.如果然后将当前元素 ...

  6. JVM堆 栈 方法区详解

    一.栈 每当启用一个线程时,JVM就为他分配一个JAVA栈,栈是以帧为单位保存当前线程的运行状态 栈是由栈帧组成,每当线程调用一个java方法时,JVM就会在该线程对应的栈中压入一个帧 只有在调用一个 ...

  7. Error attempting to get column 'xxx' from result set. Cause: java.sql.SQLException: 无法转换为内部表示

    因为<resultMap>中映射的实体类属性类型与数据库字段类型不一致造成的.

  8. (转)同步IO 异步IO 阻塞IO 非阻塞IO

    同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出 ...

  9. Android应用程序的解析

    一: 文件架构 二: 图片,语音资源的使用 图片的两种使用方法: 第一种: 使用imageView控件 <ImageView android:id="@+id/imageView1&q ...

  10. android基础知识复习——RelativeLayout布局属性、背景、半透明设置(XML设置)

    转自:http://blog.csdn.net/fansongy/article/details/6817968 复习布局与XML,写了一个空的登录界面.XML的注释我写在当行的后面了.程序运行图: ...