HTTP 正在被重新修订

阅读数:43 2007 年 12 月 16 日

话题:SOADevOps语言 & 开发架构文化 & 方法

Mark Nottingham,HTTP 的大师, WS-Addressing 工作组的前主席,提到 IETF 的 HTTPbis 工作组最近召开了它的第一次面对面会议,来讨论 HTTP 标准的更新。如同 Mark 指出的,达到最终的目标需要一个很长的过程:

过去的一年半时间里,我花费了相当多的时间与 IETF 的同事来重新修订 RFC2616(HTTP 规范)。

Roy Fielding 划分出来的草稿有可能变成新工作的基础。尽管这一章可能在范围上相当有限: 

工作组对 RFC2616 的改进包括:

* 合并勘误表和更新(例如,引用,IANA 注册,ABNF)

* 纠正了规范中会导致误解的语句问题

* 澄清了一致性需求

* 删除了已知的影响互操作的含混不清的部分

* 澄清了现有方法的可扩展性

* 移除或者建议不使用那些没有被广泛实现的或者会不适当影响互操作的特性

* 必要的地方增加了对实现的建议

* 为公共应用制订了 HTTP 的安全属性及其相关机制(如 Basic 和 Digest 认证、cookies、TLS)的文档

这样做的时候,应该考虑:

* 实现者的经验

* HTTP 的示范使用

* 对目前应用和部署的影响

Mark 相信即使这样也会导致更多的改变:

HTTP 是由一个仅仅为浏览器而设计的协议发展起来的,它的任务相当简单。是的,持久连接和部分请求(ranged requests,译注:请求资源的某部分而非整个资源)使事情变得有一点复杂,但是这些使用案例几乎在 10 年前就是同质的了。做实现的人们可以确保对这些通用案例的互操作。

目前,新一代的开发者在使用 HTTP 做一些完全想不到的事情,AJAX,Atom,CalDAV,“RESTful Web Services”和其他类似技术的都在打破 HTTP 是什么和能做什么的限制。那些原本模糊的暗角在使 RFC2616 出线的冲刺过程中变得清晰,把它们清除会帮助这些应用,而不是鼓励他们在如何使用 HTTP 的问题上造成分歧。

所以,当工作组的关注点集中在实现者身上时,这些实现者对我们来说并不一定意味着 Apache,IIS,Mozilla,Squid 或者类似的软件;它也意味着那些使用 HTTP 来构建新协议(如OAuth和 Atom 发布协议)的人们。这意味着那些以非典型方式使用 HTTP,运行巨大 Web 站点的人们。

显然每当一个经过多年使用后的标准进行重新修订时,就会出现常见的更新和澄清。现有标准的原始设计决策不会永远对新的开发者和使用者如水晶般清澈,因此就像 Mark 接着指出的那样,这些领域需要被改善。

查看英文原文:HTTP Being Revised


译者简介:王锐,曾就读于西安交通大学,目前在北京航空航天大学计算机系攻读博士学位,主要从事新型网络体系结构方面的研究工作,曾经在多个平台下进行过企业级软件的开发,并有嵌入式软件开发经历。关注 SOA 和 P2P。您可以通过 rui.wang@jsi.buaa.edu.cn与他联系。