Hi FE !
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
  • 持久化连接and管线化★★

持久化连接and管线化★★

前端宽度拓展类

持久连接

当使用keep-alive模式时候(又称持久连接),keep-alive模式使得客户端与服务器端连接持续有效。当对服务器的后继请求时, keep-alive模式避免了建立连接或重新建立连接。(持久连接在http1.1协议支持,1.0不支持)

持久连接与非持久链接的区别

1、持久连接,使得客户端到服务器端连接持续有效,避免了重新建立连接。

2.大大减少了连接的建立,以及关闭的时延,http 连接需要建立在tcp协议之上的,建立一条tcp连接需要三次握手,tcp连接的断开需要四次挥手,这都是时间。

什么是管线化?

管线化机制必须通过持久连接完成,http1.1支持,http1.0 不支持。

在持久连接时,某个消息的传递类似于,

请求1 -》 响应1 -》 请求2 -》 响应2

管线化机制,某个消息的传递

请求1 -》 请求2 -》 请求3 -》 响应1 -》 响应2 -》 响应3

那么持久链接和管线化的区别?

1.持久连接的一个缺点是请求和响应式是顺序执行的,只有在请求1的响应收到之后才会发送请求2. 而管线化不需要等待上一次请求的响应就可以发送下一次请求。实现并行发送请求。

2.只有get和head请求可以进行管线化,而post有所限制。

3.初次建立连时候也不应启用管线机制,因为对方服务器不一定支持http1.1协议

4.http1.1要求服务器端支持管线化,但并不要求服务器端也对响应进行管线化处理, 只是要求对于管线化的请求不失败,并且很多服务器端对管线化支持也不是很好,chrome,firefox 默认并未开启管线化支持。

Edit this page
最近更新: 2025/6/27 02:24
Contributors: qdleader
qdleader
本站总访问量 129823次 | 本站访客数 12人