当前位置: 首页 > news >正文

HTTP/1.1 队头堵塞

文章目录

  • 一、队头堵塞
    • 1、非管线化
    • 2、管线化
  • 二、如何解决?
    • 1、初步缓解
    • 2、彻底解决

一、队头堵塞

1、非管线化

在这里插入图片描述
如图,http 请求必须等到上一个请求响应后才能发送,后面的以此类推,由此可以看出,在一个 tcp 通道中,如果某个 http 请求的响应因为某种原因没能及时返回,那后面的请求都会被阻塞

2、管线化

在这里插入图片描述
管线化限制服务器端需按照请求的发送顺序返回响应,如果其中某个响应因为某种原因延迟了几秒,那后面的响应都会被阻塞

HTTP/1.1 管线化解决了请求的队头阻塞,但没有解决响应的队头阻塞

二、如何解决?

1、初步缓解

HTTP/1.1 建议客户端使用并发长连接,RFC2616 明确限制每个客户端对同一个域名可以建立两个长连接,但是一般浏览器会增加到 6 ~ 8 个,其中,谷歌浏览器是 6 个,也就是页面中如果对同一个域名有多个 http 请求,谷歌浏览器会对这个域名建立 6 个 tcp 长连接,在每个长连接里面再去处理 http 请求,但是这种方案对服务器的挑战非常大,甚至有些 web 优化方案中还会突破 6 ~ 8 的限制,那就是域名切片,因为长连接针对的是同一个域名,如果开发人员将资源分布在不同的域名上,那么长连接的数量是可以被突破的

2、彻底解决

HTTP/2.0


http://www.mrgr.cn/news/99280.html

相关文章:

  • [架构之美]一键服务管理大师:Ubuntu智能服务停止与清理脚本深度解析
  • PostgreSQL 用户资源管理
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(8): - (1)复习一些语法(2)「~ています」
  • Linux系统-cat命令/more命令/less命令
  • 软件工程师中级考试-上午知识点总结(上)
  • LTspice测量SiC MOSFET的C-V特性
  • Linux Wlan-四次握手(eapol)框架流程
  • 本地搭建一个简易版本的 Web3 服务
  • 可穿戴设备待机功耗需降至μA级但需保持实时响应(2万字长文深度解析)
  • python测试框架之pytest
  • Cypress EZ-USB CX3 适配输出imx586相机
  • 【全网最全】23种设计模式思维导图详解 | 含React/Vue/Spring实战案例
  • 数据结构--并查集-高效处理连通性问题
  • python——函数
  • 【C++篇】string类的终章:深浅拷贝 + 模拟实现string类的深度解析(附源码)
  • SQL Server基础
  • Python+Word实现周报自动化的完整流程
  • 【22】Strongswan sa ——IKE_SA task_manager_v1
  • 计算机组成与体系结构:内存接口(Memory Interface)
  • (五)机器学习---决策树和随机森林