HTTP/1.1 队头堵塞问题

文章目录

一、队头堵塞

1、非管线化

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

2、管线化

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

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

二、如何解决?

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

相关推荐
Allen Roson14 小时前
Burp Suite抓包软件使用说明1-Http history
网络·网络协议·http
ArabySide16 小时前
【计算机网络】HTTP协议核心知识梳理
网络协议·计算机网络·http
陈大鱼头1 天前
摸鱼搭子知乎你怎么了?访问抛出的 525 错误码是什么啊?
运维·后端·http
川石课堂软件测试1 天前
CSS中常用的几种定位。
开发语言·css·python·网络协议·http·html·pytest
卓码软件测评2 天前
第三方软件质量检测:RTSP协议和HLS协议哪个更好用来做视频站?
网络·网络协议·http·音视频·web
卓码软件测评2 天前
第三方媒体流压力测试:k6插件xk6-webrtc的使用来测试媒体流的性能
网络协议·测试工具·http·https·webrtc·ssl·媒体
唐古乌梁海2 天前
WebSocket vs HTTP 对比
websocket·http
周杰伦_Jay2 天前
【计算机网络三层深度解析:应用层、传输层与网络层】HTTP、TCP、UDP、IP、ICMP、ARP
tcp/ip·计算机网络·http
沐浴露z2 天前
【深入理解计算机网络11】应用层详解:DNS,WWW,HTTP
服务器·网络协议·计算机网络·http
川石课堂软件测试2 天前
MySQL数据库之DBA命令
数据库·网络协议·mysql·http·单元测试·prometheus·dba