`
yangchildren
  • 浏览: 7245 次
社区版块
存档分类
最新评论

《HTTP权威指南》-第6章 代理

阅读更多

《HTTP权威指南》-第6章 代理

 


Web 代理(proxy)服务器是网络的中间实体。代理位于客户端和服务器之间,扮演“中间人”的角色,在各端点之间来回传送HTTP 报文。

 6.1 Web的中间实体

HTTP 的代理服务器既是Web 服务器又是Web 客户端。

HTTP 客户端会向代理发送请求报文,代理服务器必须像Web 服务器一样,正确地处理请求和连接,然后返回响应。同时,代理自身要向服务器发送请求,这样,其行为就必须像正确的HTTP客户端一样,要发邀请求并接收响应。 


 

6.1.1 私有和共享代理

  • 公共代理
  • 私有代理

6.1.2 代理与网关的对比

代理连接的是两个或多个使用相同协议的应用程序,而网关连接的则是两个或多个使用不同协议的端点。网关扮演的是“协议转换器”的角色,即使客户端和服务器使用的是不同的协议,客户端也可以通过它完成与服务器之间的事务处理。



 

6.2 为什么使用代理

  • 儿童过滤器 


     
  • 文档访问控制 


     
  • 安全防火墙 


     
  • Web 缓存 


     
  • 反向代理 


     
  • 内容路由器 


     
  • 转码器 
    代理服务器在将内容发送给客户端之前,可以修改内容的主体格式.在这些数据表示在去之间进行的透明转换被称为转码。



 

  • 匿名者 


     

6.3 代理会去往何处

6.3.1 代理服务器的部署

  • 出口代理
  • 访问(入口)代理
  • 反向代理
  • 网络交换代理 


     

6.3.2 代理的层次结构



 

代理层次结构的内容路由 


 

动态选择父代理:

  • 负载均衡
  • 地理位置附近的路由
  • 协议/类型路由
  • 基于订购的路由

6.3.3 代理是如何获取流量的

  • 修改客户端 
    很多Web 客户端,包括网景和微软的浏览器,都支持手工和自动的代理配置。 
    如果将客户端配置为使用代理服务器,客户端就会将HTTP 请求有意地直接发送给代理,而不是原始服务器。
  • 修改网络 
    网络基础设施可以通过若干种技术手段,在客户端不知道,或没有参与的情况下,拦截网络流量并将其导入代理。
  • 修改DNS 的命名空间 
    放在Web 服务器之前的代理服务器一一替代物,会直接假扮Web 服务器的名字和IP 地址。
  • 修改Web 服务器。 
    状态码:305。 


     

6.4 客户端的代理设置

  • 手工配置
  • 预先配置浏览器
  • 代理的自动配置(Proxy Auto-Configuration, PAC)
  • WPAD 的代理发现

6.4.1 客户端的代理配置:手工配置

6.4.2 客户端代理配置: PAC文件

PAC 文件是一些小型的JavaScript 程序,可以在运行过程中计算代理设置,因此,是一种更动态的代理配置解决方案。

6.4.3 客户端代理配置: WPAD

  • 用WPAD 找到PAC 的URI,
  • 从指定的URI 获取PAC 文件,
  • 执行PAC 文件来判定代理服务器,
  • 为请求使用代理服务器。

当前的WPAD 协议规范按顺序定义了下列技术g

  • 动态主机配置协议( Dynamic Host Configuration Protocol, DHCP ) ,
  • 服务定位协议(Service Location Protocol, SL肘,
  • DNS 知名主机名,
  • DNS SRV 记录,TXT 记录中的DNS 服务URI.

6.5 与代理请求有关的一些棘手问题

  • 代理请求中的URI 和服务器请求中的U阳有何不同,
  • 拦截和反向代理是如何将服务器主机信息隐藏起来的g
  • 修改URI 的规则g
  • 代理是怎样影响浏览器的智能U阳自动完成机制,或主机名扩展特性的。

6.5.1 代理URI与服务器URI 的不同

(1)没有设置客户端使用代理时,它会发送部分URI。 
(2)设置客户端使用代理时,它会发送完整URI

6 .5.2 与虚拟主机一样的问题

代理“缺少方案/主机/端口”的问题与虚拟主机Web 服务器面临的问题相同。虚拟主机Web 服务器会在很多Web 站点间共享同一个物理Web 服务器。

  • 显式的代理要求在请求报文中使用完整URI 来解决这个问题。
  • 虚拟主机Web 服务器要求使用Host 首部来承载主机和端口信息。

6.5.3 拦截代理会收到部分URI

  • 如前所述,反向代应是一个用来取代原始服务器的代理服务器,它通常会通过假扮服务器的主机名或IP 地址来做到这一点。
  • 拦截代理是网络流量中的代理服务器,它会拦截从客户端发往服务器的请求,并提供一个缓存响应,或对其进行转发。



 

6.5.4 代理既可以处理代理请求,也可以处理服务器请求。

6.5.5 转发过程中对URI的修改

HTTP 规施禁止一般的拦截代理在转发URI 时重写其绝对路径部分。唯一的例外是可以用”/”采取代空路径。

6.5.6 URI的客户端自动扩展和主机名解析

6.5.7 没有代理时URI 的解析

 

 
  • 大小: 65.2 KB
  • 大小: 72.3 KB
  • 大小: 103.1 KB
  • 大小: 100.5 KB
  • 大小: 95.3 KB
  • 大小: 110 KB
  • 大小: 36.5 KB
  • 大小: 138 KB
  • 大小: 77.5 KB
  • 大小: 76.1 KB
  • 大小: 166.5 KB
  • 大小: 37.3 KB
  • 大小: 66.5 KB
  • 大小: 109.9 KB
  • 大小: 163.5 KB
分享到:
评论

相关推荐

    postfix 权威指南

    队列管理 qmgr的运行原理 队列管理工具 第六章 E-mail与DNS DNS概论 决定邮件路由 Postfix与DNS 常见问题 第七章 本地投递与 POP/IMAP Postfix的投递代理程序 邮箱格式 本地邮件的投递操作 POP与IMAP 本地邮件传输...

    HTTP权威指南1

    前言|3第•5 章简要介绍了 Web 服务器结构。第•6 章深入研究了 HTTP 代理服务器,HTTP 代理服务器是作为 HTTP 服务与控制平台使用的中间服务

    HTTP权威指南正版1

    前言|3第•5 章简要介绍了 Web 服务器结构。第•6 章深入研究了 HTTP 代理服务器,HTTP 代理服务器是作为 HTTP 服务与控制平台使用的中间服务

    Git权威指南PDF完整版

    Git权威指南 目 录 前 言 第1篇 初识Git 第1章 版本控制的前世和今生/ 2 1.1 黑暗的史前时代/ 2 1.2 CVS—开启版本控制大爆发/ 5 1.3 SVN—集中式版本控制集大成者/ 7 1.4 Git—Linus 的第二个伟大作品/ 9 第2章 ...

    Squid中文权威指南

    第6章 访问控制 6.1 访问控制元素 6.1.1 一些基本的ACL类型 6.1.2 ACL类型 6.1.3 外部ACL 6.1.4 处理长ACL列表 6.1.5 Squid如何匹配访问控制元素 6.2 访问控制规则 6.2.1 访问规则语法 6.2.2 Squid...

    Nginx全套学习指南

    第6章 Nginx HTTP负载均衡和反向代理的配置与优化 第7章 Nginx的Rewrite规则与实例 第8章 Nginx模块开发 第9章 Nginx的Web缓存服务与新浪网的开源NCACHE模块 第10章 Nginx在国内知名网站中的应用案例 第11章 Nginx的...

    Ext Js权威指南(.zip.001

    第6章 选择器与dom操作 / 215 6.1 ext js的选择器:ext.domquery / 215 6.1.1 选择器的作用 / 215 6.1.2 使用ext.query选择页面元素 / 215 6.1.3 基本选择符 / 223 6.1.4 属性选择符 / 229 6.1.5 css属性值...

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven权威指南 Authors Tim O'Brien (Sonatype, Inc.) , John Casey (Sonatype, Inc.) , Brian Fox (Sonatype, Inc.) , Bruce Snyder () , Jason Van Zyl (Sonatype, Inc.) , Juven Xu () Abstract Maven权威指南...

    SQL Server 2008商业智能完美解决方案 3/3

    第6章 理解SSMS和SQL Server Profiler中的SSAS 111 6.1 SQL Server Analysis Services的核心工具 111 6.1.1 基线服务配置 114 6.1.2 SSMS中的SSAS 115 6.1.3 如何查询SSAS对象 124 6.1.4 使用MDX模板 127 6.1.5 使用...

    SQL Server 2008商业智能完美解决方案 1/3

    第6章 理解SSMS和SQL Server Profiler中的SSAS 111 6.1 SQL Server Analysis Services的核心工具 111 6.1.1 基线服务配置 114 6.1.2 SSMS中的SSAS 115 6.1.3 如何查询SSAS对象 124 6.1.4 使用MDX模板 127 6.1.5 使用...

    SQL Server 2008商业智能完美解决方案 2/3

    第6章 理解SSMS和SQL Server Profiler中的SSAS 111 6.1 SQL Server Analysis Services的核心工具 111 6.1.1 基线服务配置 114 6.1.2 SSMS中的SSAS 115 6.1.3 如何查询SSAS对象 124 6.1.4 使用MDX模板 127 6.1.5 使用...

    SQL Server 2008 商业智能完美解决方案(3)

    第6章 理解SSMS和SQL Server Profiler中的SSAS 111 6.1 SQL Server Analysis Services的核心工具 111 6.1.1 基线服务配置 114 6.1.2 SSMS中的SSAS 115 6.1.3 如何查询SSAS对象 124 6.1.4 使用MDX模板 127 ...

    SQL Server 2008管理员必备指南(超高清PDF)Part2

    第6章 使用SQL Server Management Studio配置SQL Server 6.1 使用SQL Server Management Studio管理配置 6.2 确定系统和服务器信息 6.3 配置身份验证和审核 6.3.1 设置身份验证模式 6.3.2 设置审核级别 6.3.3 启用或...

    SQL.Server.2008管理员必备指南.part1.rar(1/4)

     第6章 使用SQL Server Management Studio配置SQL Server 128  6.1 使用SQL Server Management Studio管理配置 128  6.2 确定系统和服务器信息 130  6.3 配置身份验证和审核 130  6.3.1 设置身份验证模式 131 ...

    SQL.Server.2008管理员必备指南.part2.rar(2/4)

     第6章 使用SQL Server Management Studio配置SQL Server 128  6.1 使用SQL Server Management Studio管理配置 128  6.2 确定系统和服务器信息 130  6.3 配置身份验证和审核 130  6.3.1 设置身份验证模式 131 ...

    SQL Server 2008管理员必备指南(超高清PDF)Part1

    第6章 使用SQL Server Management Studio配置SQL Server 6.1 使用SQL Server Management Studio管理配置 6.2 确定系统和服务器信息 6.3 配置身份验证和审核 6.3.1 设置身份验证模式 6.3.2 设置审核级别 6.3.3 启用或...

Global site tag (gtag.js) - Google Analytics