从HTTP/1.1到HTTP/2,让WEB性能更上一层楼

HTTP协议是互联网WEB应用的基石,这样定义恐怕没有人会反对吧。但是你可知HTTP1从诞生到现在马上就有20年的历史了,这20年互联网已经发生了翻天覆地的变化,然而HTTP1却一直保持它原有的样子默默无闻的支撑着所有的WEB请求,无数的开发者为了提升HTTP1的性能也开创了很多种优化的方法与实战技能,直到HTTP2的出现我们提升WEB性能的方式也随之发生了变化。这篇文章便从HTTP的历史说起一...
摘要由CSDN通过智能技术生成

HTTP2
HTTP协议是互联网WEB应用的基石,这样定义恐怕没有人会反对吧。但是你可知HTTP1从诞生到现在马上就有20年的历史了,这20年互联网已经发生了翻天覆地的变化,然而HTTP1却一直保持它原有的样子默默无闻的支撑着所有的WEB请求,无数的开发者为了提升HTTP1的性能也开创了很多种优化的方法与实战技能,直到HTTP2的出现我们提升WEB性能的方式也随之发生了变化。这篇文章便从HTTP的历史说起一直到最新的HTTP2。

1、追溯HTTP历史

​ “超文本” 这个词提出是在1963年左右并于1965年首次出现在一名美国软件设计师所发表的文章中。在1989年有了最初的HTTP协议版本也就是0.9版本,现在已经废弃,它只有一个GET方法。在1996年通过了RFC1945制定了HTTP/1.0规范,这是一个很大的进步,这个版本里面已经有我们目前很熟悉的概念了,比如,HTTP首部、响应码、重定向等等。快马加鞭,在1999年便诞生了HTTP/1.1也就是现在我们广泛使用的协议,它比HTTP1.0改进的地方主要有如下几个方面:OPTIONS方法、压缩和传输编码(transfer-encoding)等等。HTTP/1.1定稿之后,它便没有变化也没有任何改进过,截止目前HTTP/1.1版本的协议我们已经即将使用20年了。

2、HTTP1下的优化方法

谈到优化,那么首先看一下影响HTTP性能的指标主要有如下:

1、延迟(我们常说的RTT时间端点之间的往返),

2、带宽,

3、DNS查询,

4、建立连接时间(TCP三次握手),

5、TLS协商时间(HTTPS连接请求下),

6、首字节时间(TTFB,从请求到接收到响应第一字节所耗费的时间),

7、内容下载时间(TTLB),

8、文档加载完成时间,

9、页面复杂度

10、更多的域名,css一个,图片一个,js一个等等。

11、更多的TCP socket ,HTTP/1.1下浏览器客户端会对一个域名开启最多6个socket连接。

另外HTTP/1.1还有几个重要特点:

2.1、队头阻塞

​ 在HTTP/1.1下,如果使用一个连接去请求一个域名下有很多资源,则必须经过发起请求-等等响应-再发起请求这样的过程。在请求应答的过程中,如果出现任何问题包括服务端响应、网络等问题,那么剩下的所有处理都会被阻塞在上次请求应答之后,这就是 “队头阻塞” 问题。即使浏览器客户端会对单个域名开启最多6个socket连接(这个也要跟具体的浏览器来区分比如Firefox是6个,Chrome则是24个)来分发请求,但是每个连接下仍然会受到 “队头阻塞” 的影响。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值