词条 | ICAP |
释义 | ICAP协议介绍 一. ICAP协议简介 ICAP 是 Internet Content Adaptation Protocol 的缩写.它 在本质上 是 在 HTTP message上执 行RPC远程过程调用 的一种轻量级 的协议, 也就 是说, 它让ICAP Client可以把HTTP Message传给ICAP Server, 然后ICAP Server可以对其进行某种变换或者其他处理(“匹配”).被变换 的 message可以 是 HTTP请求也可以 是 HTTP应答. ICAP 是和HTTP协议 在结构和用法上都相似 的请求/应答式 的协议.虽然和HTTP协议类似,但它并不 是 HTTP,也并不 是以HTTP协议为底层协议 在其上实现 的应用层协议, 也就 是说, ICAP 的 message不能够被HTTP代理所处理和转发. 实际上, 在 ICAP协议刚被提出 的时候, 出于HTTP协议已被业界广泛采用和利用 在 HTTP上 的已有 的大量投资, 是曾经把它设计成HTTP上层 的应用层协议 的 . 但 是 , 以HTTP为底层而实现 的方案后来被证明 是不可行 的 , 因为一些对于ICAP相当重要 的特性无法 在 HTTP上面实现.例如, ICAP Client可以 在传输一个消息体 的中间暂停并且等待一个”100 Continue”消息, 而HTTP Client只能 在消息头和消息体之间暂停等待, 另外, HTTP代理程序对Http message 的一些变换 是合法 的和无害 的 , 而对于ICAP, 由于ICAP 的 ”消息头中又内嵌有消息头” 的封装机制和其他其他一些特性就将会引起问题. Origin Server 用户所要获得 的资源所存储 在或者所被生成 的 Server, 例如xxxmail 的 box server就 是一种Origin Server. ICAP资源 和HTTP资源相似, 但 是其URI指定 的 是某个负责执行HTTP message 的变换 的 ICAP服务. ICAP server: 和一个HTTP server类似,但可通过ICAP请求应用程序服务. ICAP client: 建立和ICAP servers 的连接并发送请求给它 的程序.ICAP client经常 是 (但不总 是 )为用户服务 的代理程序. ICAP 的两种工作模式: 1) 请求修改模式 在 ”请求修改”(reqmod) 模式中, ICAP Client把HTTP request发送给ICAP Server, 然后ICAP SERVER可以做以下处理之一: a. 送回http request 的一个修改后 的版本, 然后ICAP Client把修改后 的 http request交给一个Origin Server去处理, 或者把修改后 的 request排队送到另一个ICAP Server做进一步 的修改; b. 送回一个http response. 在错误发生需要给用户有用 的提示信息 的时候. 例如”你请求访问一个你没有权限访问 的网页”. c. 返回一个错误. ICAP Client必须能够处理以上所有这3种ICAP SERVER 的 response. 但 是 ICAP Client 的实现 在处理错误 的时候仍可具有灵活性, 对于ICAP Server返回 的错误, 可以直接把错误返回给用户, 或者再重新尝试匹配变换过程(把http request交给ICAP Server修改 的过程). 在请求修改模式下 的 ICAP 的典型 的数据流程如下图所示: origin-server | /|\\ | | 5 | | 4 | | \\|/ | 2 ICAP-client --------------%26gt; ICAP-resource (surrogate) ICAP-resource (surrogate) 《ICAP协议介绍》的文章内容来自于 ChinaUnix博客 。版权归原作者(佚名)所有,文章(ICAP协议介绍)的观点并不代表Linux计算机网立场!本站仅仅是对内容及资源进行整理后发布供网友查阅,若您是此文章作者且认为侵犯了您的版权请与管理员联系,文章发布时间 02-21 17:40:11。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。