HTTP/1.1的性能问题及可优化方案

本文探讨了HTTP/1.1协议在队头阻塞、低效TCP利用、臃肿消息首部、受限的优先级设置和第三方资源等问题,并提出DNS查询优化、TCP连接预连接、避免重定向、客户端缓存、压缩和代码简化等优化方案。
摘要由CSDN通过智能技术生成

       当前HTTP/1.1协议已经走过了有20个年头了,面对现代WEB应用,特别移动应用的挑战,设计缺陷问题日益明显,以下将主要列出主要存在的五大问题

  1. 队头阻塞:在大多数情况下,浏览器获取资源都是多份的,HTTP/1.1并没有提供机制来同时请求所有的资源,在仅仅只有一个连接的时候(实际情况,现代浏览器可能针对单个域名建立多个连接,实现某程度并行),它需要发起请求,并等待响应.在这之后再发起下一请求,请求响应.即使HTTP/1.1有一个特性为管道化,允许发送一组请求,但是只能按照发送顺序依次接收响应;如果在请求应答过程中,出现任何的状况,剩下的所有请求都会被出现问题的请求应答之后,这就是"队头阻塞";
  2. 低效的TCP利用:TCP协议作为最可靠的协议之一,其核心就是拥塞窗口[拥塞窗口指的是在接收方确认数据包之前,发送方可以发出]的TCP包的数量];拥塞控制能防止过多的数据注入到网络中,避免网络过载.TCP中可以通过慢启动探索当前连接对应拥塞窗口的合适大小,即发送者发送数据的时候并非一开始注入大量数据到网络中,而是发送一个数据包进行测试,当得到确认回复后,额外发送一个未确认包,即得到一个确认回复,可以发送两个数据包,得到两个确认回复可以发送四个数据包,以几何形式增长便可很快到达协议规定的拥塞窗口规定,这时候连接进入拥塞避免阶段;这种机制需要往返几次才能得知最佳拥塞窗口大小,但往返几次所需的时间成本不可忽略;
  3. 臃肿的消息首部:HTTP/1.1能压缩请求内容,但是消息首部不能压缩;在现今请求中,消息首部占请求
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值