一、HTTP 存在的问题
(1) 复杂性:HTTP 相当复杂,而且其特性之间是相互依存的,要想正确地实现 HTTP 软件不是一件容易的事
(2) 可扩展性:HTTP 应用程序中没有自主的功能性扩展技术,使协议的扩展无法兼容
(3) 性能:HTTP 中有很多低效的特性会随着高时延、低吞吐量的无线访问技术的广泛使用而变得更加严重
(4) 传输依赖性:HTTP 是围绕 TCP/IP 网络协议栈设计的,对其依赖较多
二、HTTP-NG
(1) HTTP-NG 又名 HTTP/2.0 ,主要关注的是性能的大幅优化以及更强大的服务逻辑远程执行框架,但该版本还没有正式使用,尽管 HTTP-NG 工作组已经解散了,但它还是给出了 HTTP 未来一些潜在的发展方向
(2) 新特性:模块化,HTTP-NG 工作组建议将协议模块化为三层,而不是将连接管理、报文处理、服务器处理逻辑、协议方法全都混在一起
(3) 新特性:分布式对象,HTTP-NG 的很多基本原理和功能目录都是从 CORBA 和 DCOM 这样的结构化、面向对象的分布式对象系统中借鉴来的
(4) 新特性:WebMUX 标准,WebMUX 是一个复杂的高性能报文系统,通过该系统,可以在一个复用的 TCP 连接上并行地传输报文,可以对不同速度产生和消耗的独立报文流进行高效的分组,并将其复用到一条或少数几条 TCP 连接上去
(5) 新特性:二进制连接协议,使用二进制连接协议来提高下一代 HTTP 协议支持远程操作的能力
三、HTTP-NG 模块
(1) 第一层:报文传输层,不考虑报文的功能,而注重考虑报文的高效传输
(2) 第二层:远程调用层,定义了请求/响应的功能,客户端可以通过这些功能调用对服务器资源的操作
(3) 第三层:Web应用层,提供了大部分的内容管理逻辑,所有的 HTTP 方法和首部参数都是在这里定义的