当前位置: 首页 > 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 的限制,那就是域名切片,因为长连接针对的是同一个域名,如果开发人员将资源分布在不同的域名上,那么长连接的数量是可以被突破的,但这样做无疑会增大服务器的连接数,当服务器面对海量请求的话,可能会出现问题,那怎么办呢?HTTP/2.0


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

相关文章:

  • 第九节:React HooksReact 18+新特性-React 19的use钩子如何简化异步操作?
  • Java 工厂设计模式详解:用统一入口打造灵活可扩展的登录系统----掌握 Spring 源码的基础第一步
  • 细说STM32单片机FreeRTOS任务管理API函数及多任务编程的实现方法
  • Vue3+Vite+TypeScript+Element Plus开发-16.登录退出
  • 数据结构|排序算法(三)选择排序 堆排序 归并排序
  • 细说STM32单片机FreeRTOS任务管理API函数vTaskList()的使用方法
  • 【力扣】重排链表
  • 使用python帮助艺术家完成角色动画和服装模型等任务
  • k230学习笔记-疑难点(1)
  • html+js+clickhouse环境搭建
  • 蓝牙网关的功能与应用场景
  • 面试题之高频面试题
  • 探索关系型数据库 MySQL
  • 优化方法介绍(二)——BFGS 方法介绍
  • 信息科技伦理与道德0:课程安排
  • rk算力集群usb做网卡
  • jenkins凭据管理(配置github密钥)
  • 十三种物联网/通信模块综合对比——《数据手册--物联网/通信模块》
  • openGauss使用指南与SQL转换注意事项
  • 虚幻基础:ue引擎的碰撞