zptime / blog

个人博客
0 stars 0 forks source link

前端基础知识之网络(Network)篇 #23

Open zptime opened 3 years ago

zptime commented 3 years ago

http2多路复用

虽然1.1版允许复用TCP连接,但是同一个TCP连接里面,所有的数据通信是按次序进行的。服务器只有处理完一个回应,才会进行下一个回应。要是前面的回应特别慢,后面就会有许多请求排队等着。这称为"队头堵塞"(Head-of-line blocking)。

http2的传输是基于二进制帧的。每一个TCP连接中承载了多个双向流通的流,每一个流都有一个独一无二的标识和优先级,而流就是由二进制帧组成的。二进制帧的头部信息会标识自己属于哪一个流,所以这些帧是可以交错传输,然后在接收端通过帧头的信息组装成完整的数据。这样就解决了线头阻塞的问题,同时也提高了网络速度的利用率。

TCP三次握手,四次挥手

TCP image 图片左边:a是client,b是server;图片右边:a是server,b是client。 TCP 连接

https原理及握手过程

SSL握手

  1. 客户端给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。
  2. 服务端确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数(Server random)。
  3. 客户端确认数字证书有效,然后生成一个新的随机数(Premaster secret),并使用数字证书中的公钥,加密这个随机数,发给服务端。
  4. 服务端使用自己的私钥,获取客户端发来的随机数(即Premaster secret)。
  5. 客户端和服务端根据约定的加密方法,使用前面的三个随机数,生成"对话密钥"(session key),用来加密接下来的整个对话过程。

http状态码