《HTTP权威指南》笔记摘要Day7
HTTP/1.1的局限性
- 复杂性:HTTP相当复杂,而且特性之间相互依存。
- 可扩展性:HTTP很难实现递增式扩展。
- 性能:HTTP中有些部分效率不高。
- 传输依赖性:依赖于TCP/IP协议。
HTTP-NG
HTTP-NG建议把协议模块自底向上化成三层:报文传输层、远程调用层、Web应用层。
第一层:报文传输层
这一层不考虑报文的功能,二致力于端点间报文的不透明传输,主要负责高效报文传输和处理。
本层关注的是提高报文传输的性能,如:
- 将报文传输管道化和批量化,降低时延。
- 重用链接,降低时延,提高带宽。
- 再同一条连接上复用多个报文流,在防止报文流饿死同时优化共享连接。
- 对报文进行有效的分段,使报文边界的传输更加容易。
第二层:远程调用层
定义了请求/响应的功能,客户端可以通过这些功能调用服务器资源。
提供了对远程方法调用的支持,提供了通用的请求/响应框架,不关心操作的实现与语义。
第三层:Web应用
本层提供了大量的逻辑内容管理,是执行语义和应用程序特定逻辑的地方。
基本思想是提供与HTTP/1.1等价的功能和一些扩展接口,同时将其映射到可扩展的分布式框架中。
WebMUX
WebMUX是一个复杂的高性能报文传输系统,可以在复用的TCP请求上并行的传输报文。可以对不同速度产生和消耗的报文流进行高效分组,复用到一条或几条TCP链接上去。
WebMUX协议的目标
- 设计简单
- 高性能
- 复用
- 具于信用的流量通信
- 保持对齐
- 丰富的功能