HTTP/2 协议

HTTP/1.1 与 HTTP/2 相隔了大概20年,但是从目前的研究和实验情况来看,我们不可能等上几十年才升级到下一个版本,h2 在逐渐的普及。 h2 和 h1 的最大差别在于在 http 层上增加了分帧层;把原来的 http 层的数据拆分成多种帧类型,并在每种类型前加上协议性的帧首部。基于二进制分帧的优点:

  1. 传输使用的编码方式改变(采用帧、流模式),不用创建多个 TCP 连接,单个连接就可以有多个流(处理主页面和所有子元素的请求),能够减少延迟,服务器和浏览器的 socket 负载也大大减少。
  2. 并行处理,乱序发送帧,不再采用 pipeline 阻塞方式
  3. 传输的功能得以扩展(如服务端推送、首部压缩、优先级、流量控制)。

学习 HTTP/2 最好的文档是 RFC 7540。

Read more...

SSL/TLS 协议

SSL/TLS 是基于 TCP 之上,HTTP 之下的协议。从技术角度上看,HTTP/2 作为新一代的协议,虽然协议文本中并未强制要求加密,但主要的浏览器(Firefox、Chrome、Safari、Opera、IE、Edge)已共同宣布,他们只支持实现基于 TLS 的 HTTP/2,也就是说加密将是下一代协议的强制事实标准。

Read more...

TCP 传输原理

TCP的主要目的是在一个比较不可靠的相互通信上提供可靠的,安全的逻辑回路或者连接服务。为了实现这个服务,TCP 的设计 体系非常庞大,我对其理解只是冰山一角,此文只是将我学过的重点知识进行汇总。

Read more...