HTCP/0.0 超文本缓存协议

【HTCP/0.0 超文本缓存协议】本备忘录的状态
本备忘录定义了一种Internet社区的试验性的协议 。它并没有具体指定任何一种Internet标准 。它需要进一步进行讨论和建议以得到改进 。本备忘录的发布不受任何限制 。
版权声明
Copyright (C) The Internet Society (2000). All Rights Reserved.
摘要
本文档描述了超文本缓冲协议(HTCP),它是一个用来发现HTTP缓冲区并储存数据、治理整套的HTTP缓冲区和监测缓冲区活动的协议 。这是一个试验性协议,用来完成这些功能的几个建议中其中的一个 。
1. 定义、基本原理及其范围Definitions, Rationale and Scope
1.1.HTTP/1.1 (参见 [RFC2616])支持从“原始服务器”到“客户端”的网络对象的传输,或许是经由“代理服务器”(在某些情况下,这样做答应“缓存”这些对象以备以后重用) 。“客户端”将得到的对象以某种方式消费,通常就将它作为“网页”的一部分显示出来 。HTTP/1.0以及后来的版本答应在请求或者响应中包含有“headers”,这就扩充了HTTP/0.9(以及更早的版本)的在请求中仅指定一个URI(Uniform Resource Identifiers)和在响应中仅仅提供一个实体行为 。
1.2. ICP(参见[RFC2186])支持象查询其内容一样的方式来查询缓冲区,通常是通过其它缓冲区, 这是希望能避免从一台远程源服务器上高代价地索取资源 。ICP是用HTTP/0.9的思想设计的,因此呢,仅仅使用了URI(不包括任何的标题)来描述缓冲区的内容,而且,针对(for)同一个URI的多路可兼容的实体至今仍没有好的方案 。
1.3. 此文档具体描述了一个超文本缓冲协议(HTCP),此超文本缓冲协议(HTCP)完全支持在缓冲区治理中使用请求和响应标题,并扩展了缓冲区治理的范围――包括了一个远程缓冲区添加和删除的监控,以及发送有关网络对象的提示信息,比如说象可缓冲对象的第三方的地址,或者是网络对象被测的不可缓冲性或不可用性 。
2. HTCP 协议
2.1. 所有多字节的HTCP协议元素都是以网络字节顺序传送的 。所有的保留字段都应当由发送端设置为二进制0(zero)并接受端没有检查 。同HTTP一样,标题必须置于CRLF行的末尾 。
2.2. 任何指定的主机名都应当在发送端和接受端之间互相兼容,这样假如正在使用一私有命名方案(比如HOSTS.TXT 或者NIS),依此方案命名的名称将仅发送给那些已知的参与此方案的HTCP邻居 。原始地址(由点号连接的四个小于255的数字代表IP地址的IPv4,或格式的IPv6)是通用的,就如同公用DNS名称 。使用私有名称或者地址非凡需要一些操作上的注重事项 。
2.3. HTCP消息可以已数据报的形式发送,或者通过TCP连接发送 。必须支持UDP协议 。HTCP代理商决不能对网络故障和网络延迟袖手旁观 。HTCP代理商应当时刻预备着,一旦出现没有得到响应,或者响应延迟了或者被重新安排了或者被破坏了的情况,就要采取有效的措施 。TCP协议是可选的,只是在协议除错的时候才可能拥到它 。IANA已经为HTCP指定了标准TCP和UDP端口号4827 。
2.4. 应当为每一个代理商维护一套关于传输特性的配置变量,这些变量能够初始化HTCP交易,或许是一套每代理商全局缺省值 。这些变量是:
――认为是“失败” 交易的最大未回复交易数 。
――对于某些交易认为是“失败”交易的最大无响应间隔时间 。
――交易“失败”后尝试开始一个新交易的最小间隔时间 。
应当为每一个代理维护一组关于传输特性的配置变量 。代理能够初始化HTCP交易,或许它还带有一组每代理全局缺省值 。
2.5. 一般来说HTCP消息的格式如下所示:

推荐阅读