6.1 Web的中间实体

  Http的代理服务器即是客户端的服务器又是服务器的客户端。

  它介于服务器与客户端之间,当客户端发送请求报文经过它时,它会像服务器一样正确的处理请求和返回响应,同时,代理服务器会像正常的客户端一样向服务端发送请求报文。

6.1.1 私有代理和共享代理

  共享代理:大多数代理都是公共的共享代理,集中式代理的费效比更好,更易于管理。

  私有代理:不常见,某些计算机安装小型代理可扩展浏览器特性,提高特性等。

6.1.2 代理与网关的区别

  代理:代理连接的是两个或多个使用相同协议的程序。

  网关:网关扮演的是“协议转换器”角色,即便客户端与服务器使用不同协议方法,网关也可相互转换辅助使用。

6.2 代理的作用

  代理可实现各种时髦有用功能,如改善安全性、提高性能、节省费用等,由于代理可接触到所有流过的Http流量,所以代理可以监视流量并对其进行修改。

  作用示例:

  • 儿童过滤器——可通过过滤器禁止儿童访问成人内容。
  • 档案访问控制

    1.允许客户端1无限制访问服务器A的新闻页面

    2.允许客户端2无限制的访问互联网

    3.允许客户端3访问服务器B之前,要求其输入口令

  • 安全防火墙
  • Web缓存——代理缓存维护了常用文档的本地副本,以减少缓慢且昂贵的流量
  • 反向代理——假扮服务器,接收发往服务器的请求,并分类将这些请求发往其他相关服务器
  • 内容服务器
  • 转码器——代理服务器将内容发往客户端之前,可修改内容的主题格式,如GIF转Jpeg以减少大小
  • 匿名者——匿名者代理可将报文中身份特性信息(IP,Port,User,Password等)删除,从而提高私密度及匿名性

6.3 代理会去往何处

  6.3.1 代理服务器的部署

    • 出口代理——放置在本地网络出口点,以便控制本地网络与大型因特网之间的流量。
    • 访问(入口)代理——代理被放在ISP访问点,ISP使用缓存代理来存储常用文档副本,提高下载速率,降低消耗。
    • 反向代理——将代理安置在服务器接收报文前,在那里代理会处理所有请求报文,只有在必要时才会指向服务器的资源。
    • 网络交换代理——将代理放置在网络间的因特网对等交换点上,通过缓存来减少因特网的阻塞。    

    6.3.2 代理的层次结构

    代理可有多级次,从一级代理向二级代理传递,从二级向三级等,前一级是后一级的父级,后一级是前一级的子级,最终传递至服务器或客户端。

    请求报文通过多级代理后到达服务器,其响应请求返回顺序为发往服务器相反顺序。

  6.3.3 代理是如何获取流量

    四种方式使客户端流量流向代理:

    1. 修改客戶端——将客户端配置为使用代理服务器,客户端会将请求报文发往代理服务器,而不是原始服务器。
    2. 修改网络——拦截流量并将其导入代理。
    3. 修改DNS命名空间
    4. 修改Web服务器——Web发送重定向报文,然后客户端根据重定向报文访问代理

6.4 追踪报文

  6.4.1 Via首部

      Via首部列出了与报文途径的每个中间节点的有关信息。报文每经过一个节点都会将该节点的信息添加至Via首部。

      语法:协议名-版本号-节点名-节点注释。

6.5 TRACE

  通过Http的TRACE方法可跟踪报文传输经过代理及代理做了什么处理。

  MAX-Forwards 限制代理数量,当其=0时即使接收端不是服务器也必须将该报文发回客户端,不可继续传输。

    

  

HTTP权威协议笔记-6.代理的更多相关文章

  1. HTTP权威协议笔记-7.集成点:网关、隧道及中继

    .8.1 网关 定义:网关类似与翻译器,它抽象出了一种能够到达资源的方法. 实用:网关可以自动将HTTP流量转换为其他协议,这样使用HTTP协议的一方就不需要了解其他协议,也可实现与其他程序或设备交互 ...

  2. HTTP权威协议笔记-8.集成点:网关、隧道及中继

    .8.1 网关 定义:网关类似与翻译器,它抽象出了一种能够到达资源的方法. 实用:网关可以自动将HTTP流量转换为其他协议,这样使用HTTP协议的一方就不需要了解其他协议,也可实现与其他程序或设备交互 ...

  3. HTTP权威协议笔记-7.缓存

    7.1 冗余的数据传输 缓存的作用:当客户端每次访问服务器,服务器都会返回一份相同文件,一些相同的字节会不断的在网络内传输,这样冗余的数据传输会耗尽昂贵的带宽,降低传输速度,加重Web服务器的负载. ...

  4. HTTP权威协议笔记-10.HTTP-NG

    1.HTTP发展中存在的问题 复杂性   其连接.报文.及功能逻辑之间的混合使用相当复杂,使用容易出错 可扩展性 传统流行下来的http应用很难实现扩展性,且无法兼容 性能      高延时.低吞吐 ...

  5. HTTP权威协议笔记-5.Web服务器

    5.1 Web服务器工作内容 建立连接--接受一个客户端的连接,或者将其拒绝 接受请求--从网络中读取一条HTTP报文 处理请求--对请求报文进行解释,并采取行动 访问资源--访问报文中指定的资源 构 ...

  6. HTTP权威协议笔记-4.连接管理

    4.1 TCP连接 TCP为HTTP提供了一条可靠的比特传输管道,按顺序正确的传输,步骤如下: 浏览器解析主机名. 查询这个主机名的IP地址(DNS) 获得端口号. 浏览器对服务器该端口号发起连接. ...

  7. HTTP权威协议笔记-3.Http报文

    3.1 报文流 http使用流入和流出来描述事物处理方向,报文包含:起始行.首部和主体. 3.2 起始行 起始行包含:请求行和回应行. 3.2.1请求行 请求行包含:方法.请求URL(描述了对哪个资源 ...

  8. HTTP权威协议笔记-9.Web机器人

    经过整个春节的放肆,终于回归了,说实话,春节真心比上班累. 9.1 爬虫及爬行方式 (1) 爬虫:Web爬虫是一种机器人,他们会递归性的对各种信息Web站点进行遍历. (2) 爬行方式:Web机器人会 ...

  9. Struts2权威指南笔记

    Struts2权威指南笔记 1.mvc特点包括: ① 多个视图可以对应一个模型 ② 模型返回的数据与显示逻辑分离 ③ 应用层被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性 ④ 控制层的概念也 ...

随机推荐

  1. [2014.01.27]wfImage 图像处理组件 3.3

    组件支持多种图片格式,包括bmp,jpg,gif,wmf,emf,ico,png,pcx,tif,tga,pcx,dcx等. 组件提供两种输出接口,包括保存,直接显示(您再也不用定时清理那些临时的垃圾 ...

  2. springmvc--json--返回json的日期格式问题

    (一)输出json数据 springmvc中使用jackson-mapper-asl即可进行json输出,在配置上有几点: 1.使用mvc:annotation-driven 2.在依赖管理中添加ja ...

  3. Stanford NLP学习笔记:7. 情感分析(Sentiment)

    1. 什么是情感分析(别名:观点提取,主题分析,情感挖掘...) 应用: 1)正面VS负面的影评(影片分类问题) 2)产品/品牌评价: Google产品搜索 3)twitter情感预测股票市场行情/消 ...

  4. 异步|同步&阻塞|非阻塞

    异步|同步:区别在于发出一个功能调用时,是否马上得到返回结果 阻塞|非阻塞:区别在于调用结果返回之前,当前线程是否挂起 node.js:单线程.异步非阻塞模型 单线程与异步不矛盾,与并发是矛盾的 ht ...

  5. [AS3.0] NetConnection.Connect.Rejected 解决办法

    以下是运用FMS录制视频的一段代码: package { import flash.display.Sprite; import flash.events.AsyncErrorEvent; impor ...

  6. PSP(11.16~11.23)

    18号 类别c 内容c 开始时间s 结束e 中断I 净时间T 看书 构建之法 9:00 10:00 0 60m 看书 查资料 10:00 11:15 5 70m 个人 写博客 13:30 14:55 ...

  7. CentOS开机无法进入系统,如何查错

    开机时按e/F5按钮,进入选择系统界面 会出现 CentOS(2.6.32-...类似的选择列表,选择默认的系统然后按e: 这时会出现 root kernel ... initd... 三个选项,选择 ...

  8. get_list_or_404(klass, *args, **kwargs)和get_object_or_404(klass, *args, **kwargs)区别

    get_object_or_404() 是通过调用get()方法从model管理器上获取数据, 如果对象不存在,它会报Http404的异常,而不是model的 DoseNotExist异常. get_ ...

  9. vs2012中添加lib,.h文件方法(原)

    项目.属性.C/C++.附加包含目录:填写附加头文件(*.h)所在目录 分号间隔多项项目.属性.链接器.附加库目录:填写附加依赖库(*.lib)所在目录 分号间隔多项项目.属性.链接器(点前面的+展开 ...

  10. 六十三、android pad

    参照连接:http://blog.csdn.net/guolin_blog/article/details/8881711 http://www.xue5.com/Mobile/Android/708 ...