没有合适的资源?快使用搜索试试~ 我知道了~
首页icap协议rfd3507
icap协议rfd3507
3星 · 超过75%的资源 需积分: 14 7 下载量 61 浏览量
更新于2023-03-16
评论
收藏 68KB PDF 举报
Internet Content Adaptation Protocol协议 rfd3507
资源详情
资源评论
资源推荐
Network Working Group J. Elson
Request for Comments: 3507 A. Cerpa
Category: Informational UCLA
April 2003
Internet Content Adaptation Protocol (ICAP)
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
IESG Note
The Open Pluggable Services (OPES) working group has been chartered
to produce a standards track protocol specification for a protocol
intended to perform the same of functions as ICAP. However, since
ICAP is already in widespread use the IESG believes it is appropriate
to document existing usage by publishing the ICAP specification as an
informational document. The IESG also notes that ICAP was developed
before the publication of RFC 3238 and therefore does not address the
architectural and policy issues described in that document.
Abstract
ICAP, the Internet Content Adaption Protocol, is a protocol aimed at
providing simple object-based content vectoring for HTTP services.
ICAP is, in essence, a lightweight protocol for executing a "remote
procedure call" on HTTP messages. It allows ICAP clients to pass
HTTP messages to ICAP servers for some sort of transformation or
other processing ("adaptation"). The server executes its
transformation service on messages and sends back responses to the
client, usually with modified messages. Typically, the adapted
messages are either HTTP requests or HTTP responses.
Elson & Cerpa Informational [Page 1]
RFC 3507 ICAP April 2003
Table of Contents
1. Introduction............................................3
2. Terminology.............................................5
3. ICAP Overall Operation..................................8
3.1 Request Modification..............................8
3.2 Response Modification............................10
4. Protocol Semantics.....................................11
4.1 General Operation................................11
4.2 ICAP URIs........................................11
4.3 ICAP Headers.....................................12
4.3.1 Headers Common to Requests and
Responses................................12
4.3.2 Request Headers..........................13
4.3.3 Response Headers.........................14
4.3.4 ICAP-Related Headers in HTTP
Messages.................................15
4.4 ICAP Bodies: Encapsulation of HTTP
Messages.........................................16
4.4.1 Expected Encapsulated Sections...........16
4.4.2 Encapsulated HTTP Headers................18
4.5 Message Preview..................................18
4.6 "204 No Content" Responses outside of
Previews.........................................22
4.7 ISTag Response Header............................22
4.8 Request Modification Mode........................23
4.8.1 Request..................................23
4.8.2 Response.................................24
4.8.3 Examples.................................24
4.9 Response Modification Mode.......................27
4.9.1 Request..................................27
4.9.2 Response.................................27
4.9.3 Examples.................................28
4.10 OPTIONS Method...................................29
4.10.1 OPTIONS request..........................29
4.10.2 OPTIONS response.........................30
4.10.3 OPTIONS examples.........................33
5. Caching................................................33
6. Implementation Notes...................................34
6.1 Vectoring Points.................................34
6.2 Application Level Errors.........................35
6.3 Use of Chunked Transfer-Encoding.................37
6.4 Distinct URIs for Distinct Services..............37
7. Security Considerations................................37
7.1 Authentication...................................37
7.2 Encryption.......................................38
7.3 Service Validation...............................38
8. Motivations and Design Alternatives....................39
Elson & Cerpa Informational [Page 2]
RFC 3507 ICAP April 2003
8.1 To Be HTTP, or Not to Be.........................39
8.2 Mandatory Use of Chunking........................39
8.3 Use of the null-body directive in the
Encapsulated header..............................40
9. References.............................................40
10. Contributors...........................................41
Appendix A BNF Grammar for ICAP Messages..................45
Authors’ Addresses..........................................48
Full Copyright Statement....................................49
1. Introduction
As the Internet grows, so does the need for scalable Internet
services. Popular web servers are asked to deliver content to
hundreds of millions of users connected at ever-increasing
bandwidths. The model of centralized, monolithic servers that are
responsible for all aspects of every client’s request seems to be
reaching the end of its useful life.
To keep up with the growth in the number of clients, there has been a
move towards architectures that scale better through the use of
replication, distribution, and caching. On the content provider
side, replication and load-balancing techniques allow the burden of
client requests to be spread out over a myriad of servers. Content
providers have also begun to deploy geographically diverse content
distribution networks that bring origin-servers closer to the "edge"
of the network where clients are attached. These networks of
distributed origin-servers or "surrogates" allow the content provider
to distribute their content whilst retaining control over the
integrity of that content. The distributed nature of this type of
deployment and the proximity of a given surrogate to the end-user
enables the content provider to offer additional services to a user
which might be based, for example, on geography where this would have
been difficult with a single, centralized service.
ICAP, the Internet Content Adaption Protocol, is a protocol aimed at
providing simple object-based content vectoring for HTTP services.
ICAP is, in essence, a lightweight protocol for executing a "remote
procedure call" on HTTP messages. It allows ICAP clients to pass
HTTP messages to ICAP servers for some sort of transformation or
other processing ("adaptation"). The server executes its
transformation service on messages and sends back responses to the
client, usually with modified messages. The adapted messages may be
either HTTP requests or HTTP responses. Though transformations may
be possible on other non-HTTP content, they are beyond the scope of
this document.
Elson & Cerpa Informational [Page 3]
RFC 3507 ICAP April 2003
This type of Remote Procedure Call (RPC) is useful in a number of
ways. For example:
o Simple transformations of content can be performed near the edge
of the network instead of requiring an updated copy of an object
from an origin server. For example, a content provider might want
to provide a popular web page with a different advertisement every
time the page is viewed. Currently, content providers implement
this policy by marking such pages as non-cachable and tracking
user cookies. This imposes additional load on the origin server
and the network. In our architecture, the page could be cached
once near the edges of the network. These edge caches can then
use an ICAP call to a nearby ad-insertion server every time the
page is served to a client.
Other such transformations by edge servers are possible, either
with cooperation from the content provider (as in a content
distribution network), or as a value-added service provided by a
client’s network provider (as in a surrogate). Examples of these
kinds of transformations are translation of web pages to different
human languages or to different formats that are appropriate for
special physical devices (e.g., PDA-based or cell-phone-based
browsers).
o Surrogates or origin servers can avoid performing expensive
operations by shipping the work off to other servers instead.
This helps distribute load across multiple machines. For example,
consider a user attempting to download an executable program via a
surrogate (e.g., a caching proxy). The surrogate, acting as an
ICAP client, can ask an external server to check the executable
for viruses before accepting it into its cache.
o Firewalls or surrogates can act as ICAP clients and send outgoing
requests to a service that checks to make sure the URI in the
request is allowed (for example, in a system that allows parental
control of web content viewed by children). In this case, it is a
*request* that is being adapted, not an object returned by a
response.
In all of these examples, ICAP is helping to reduce or distribute the
load on origin servers, surrogates, or the network itself. In some
cases, ICAP facilitates transformations near the edge of the network,
allowing greater cachability of the underlying content. In other
examples, devices such as origin servers or surrogates are able to
reduce their load by distributing expensive operations onto other
machines. In all cases, ICAP has also created a standard interface
for content adaptation to allow greater flexibility in content
distribution or the addition of value added services in surrogates.
Elson & Cerpa Informational [Page 4]
RFC 3507 ICAP April 2003
There are two major components in our architecture:
1. Transaction semantics -- "How do I ask for adaptation?"
2. Control of policy -- "When am I supposed to ask for adaptation,
what kind of adaptation do I ask for, and from where?"
Currently, ICAP defines only the transaction semantics. For example,
this document specifies how to send an HTTP message from an ICAP
client to an ICAP server, specify the URI of the ICAP resource
requested along with other resource-specific parameters, and receive
the adapted message.
Although a necessary building-block, this wire-protocol defined by
ICAP is of limited use without the second part: an accompanying
application framework in which it operates. The more difficult
policy issue is beyond the scope of the current ICAP protocol, but is
planned in future work.
In initial implementations, we expect that implementation-specific
manual configuration will be used to define policy. This includes
the rules for recognizing messages that require adaptation, the URIs
of available adaptation resources, and so on. For ICAP clients and
servers to interoperate, the exact method used to define policy need
not be consistent across implementations, as long as the policy
itself is consistent.
IMPORTANT:
Note that at this time, in the absence of a policy-framework, it
is strongly RECOMMENDED that transformations SHOULD only be
performed on messages with the explicit consent of either the
content-provider or the user (or both). Deployment of
transformation services without the consent of either leads to, at
best, unpredictable results. For more discussion of these issues,
see Section 7.
Once the full extent of the typical policy decisions are more fully
understood through experience with these initial implementations,
later follow-ons to this architecture may define an additional policy
control protocol. This future protocol may allow a standard policy
definition interface complementary to the ICAP transaction interface
defined here.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14, RFC 2119 [2].
Elson & Cerpa Informational [Page 5]
剩余49页未读,继续阅读
huangma236
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2023年中国辣条食品行业创新及消费需求洞察报告.pptx
- 2023年半导体行业20强品牌.pptx
- 2023年全球电力行业评论.pptx
- 2023年全球网络安全现状-劳动力资源和网络运营的全球发展新态势.pptx
- 毕业设计-基于单片机的液体密度检测系统设计.doc
- 家用清扫机器人设计.doc
- 基于VB+数据库SQL的教师信息管理系统设计与实现 计算机专业设计范文模板参考资料.pdf
- 官塘驿林场林防火(资源监管)“空天地人”四位一体监测系统方案.doc
- 基于专利语义表征的技术预见方法及其应用.docx
- 浅谈电子商务的现状及发展趋势学习总结.doc
- 基于单片机的智能仓库温湿度控制系统 (2).pdf
- 基于SSM框架知识产权管理系统 (2).pdf
- 9年终工作总结新年计划PPT模板.pptx
- Hytera海能达CH04L01 说明书.pdf
- 数据中心运维操作标准及流程.pdf
- 报告模板 -成本分析与报告培训之三.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1