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

HTTP/1.1 对头堵塞问题

文章目录

  • 一、对头堵塞
    • 1、非管线化
    • 2、管线化
  • 二、如何解决?

一、对头堵塞

1、非管线化

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

2、管线化

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

二、如何解决?

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

相关文章:

  • JMeter中设置HTTPS请求
  • MySQL游标(cursor)详解
  • 3 提示词工程指南-提示词编辑 - 持续更新
  • LWIP_MQTT连接ONENET
  • Java 中常用队列用法详解
  • OpenGL shader开发实战学习笔记:第十一章 立方体贴图和天空盒
  • 计算机网络基础概论
  • Linux中docker容器拉取镜像失败解决方案
  • HCIP(OSPF )(2)
  • 第一篇:linux之虚拟环境与centos安装
  • 在ubuntu20.04上安装ros2
  • 【软考-系统架构设计师】OSI体系解析
  • 远程医疗系统安全升级:构建抗CC攻击的全方位防护网
  • SpringBoot_第十章(启动过程)
  • 代码学习总结(三)
  • 离散化--
  • 金融数据库转型实战读后感
  • 目标检测概述
  • AI在市场营销分析中的核心应用及价值,分场景详细说明
  • 【C++】深入浅出之继承
  • 梅花奖在上海丨陈丽俐“婺剧折戏专场”:文戏武做,武戏文唱
  • 日本广岛大学一处拆迁工地发现疑似未爆弹
  • 郑州通报涉“健康证”办理有关问题查处进展情况
  • 中美经贸高层会谈11日在日内瓦将继续进行
  • 航行警告:渤海海峡黄海北部执行军事任务,禁止驶入
  • 以总理内塔尼亚胡称决心彻底击败哈马斯