美文网首页
HTTP协议优化措施

HTTP协议优化措施

作者: 我爱张智容 | 来源:发表于2021-10-01 15:06 被阅读0次

经典提高效率的机制

1、并行连接
可以通过建立多个 tcp连接通道来实现并行传输数据,提高页面响应速率。并行TCP连接的使用还能够一定程度上减轻RTT延迟和短连接缓启动延迟的影响。

2、长连接
HTTP/1.1默认开启 Keep-Alive 选项,并且是 pipeline模式的。这样建立的 TCP 连接,可以在多次请求中复用。(注意:pipeline目前只能用于GET和HEAD请求)

3、缓存
3.1 Cache-control 用来控制缓存。当客户端发送的请求中包含 max-age 指令时,如果判定缓存层中,资源的缓存时间数值比指定的时间数值小,那么客户端可以接受缓存的资源;当 max-age = 0时,说明客户端不接受缓存,缓存层需要将请求转发给应用集群(通常是实时性要求很高的服务)。
3.2 If-Modified-Since 也是关于缓存的。这个选项的作用是:如果服务器的资源在某个时间之后更新了,那么客户端就应该下载最新的资源,否则服务器返回 ”304 Not Modified“ 的响应,这样也能节省带宽。

HTTP/2.0 优化措施

1、头部压缩
将原来每次都要携带的大量 key value 在两端建立一个索引表,对相同的头只发送索引表中的索引。

2、多路复用和分帧
将一个TCP连接中,切分成多个流,每个流都有自己的ID,并且流可以是从客户端发往服务器的,也可以是从服务器发往客户端的。流有各自的优先级。
将所有的传输消息分割为更小的帧(常见的帧有Header帧,Data帧等;不同类别的帧属于不同的流)
通过以上两种机制,客户端可以将多个请求分散到不同的流中,然后将请求的内容拆分为帧,进行二进制传输。(帧可以乱序发送,服务器端根据帧首部的流标识符重新组装,并且可以根据流优先级决定流的处理顺序)

这么做的好处是什么呢?举一个例子:

假设一个页面要发送三个独立的请求,分别获取css、js、.jpg。如果是HTTP/1.,那么这三个请求就是串行的,但是经过HTTP/2.0的优化,这三个请求理论上就变成了并行的,可以在一个连接里,客户端和服务端都可以同时发送多个请求或回应,并且不用按照顺序一一发送。

HTTP/2.0成功解决了HTTP/1.1的队首阻塞问题,同时,也不需要通过HTTP/1.*的并行连接机制用多条TCP连接来实现并行请求与响应,从而减少了TCP连接数对服务器性能的影响。同时将页面的多个数据等通过一个数据连接进行传输,加快了页面组件的传输速度。

3、二进制编码
对帧进行二进制编码,压缩体积,提高传输效率。

HTTP/2.0的缺陷:

由于HTTP/2.0的底层是依赖TCP协议的,而TCP协议在处理包时是有严格顺序的。当一条连接其中一个数据包传输遇到问题时,TCP连接需要等待这个包完成重传后才能继续进行,所以虽然HTTP/2.0通过多个stream,使得逻辑上在一个TCP连接上进行多路数据传输,但是如果一前一后,前面的stream2的帧没有收到,stream1的帧也会因此阻塞,相当于又回到了串行传输。

相关文章

  • HTTP协议优化措施

    经典提高效率的机制 1、并行连接可以通过建立多个 tcp连接通道来实现并行传输数据,提高页面响应速率。并行TCP连...

  • Android优化笔记

    http优化 http协议组成 https http2.0 图片优化 工程结构 垃圾回收 线程池内部实现 链表结构...

  • HTTP的前世今生

    HTTP站在TCP之上 HTTP是建立在TCP之上,HTTP协议的瓶颈以及优化技巧其实都是基于TCP协议的本身特性...

  • Web 前端性能优化

    浏览器访问渲染优化 减少 http 请求数 http 协议是无状态的应用层协议,每次 http 请求都会建立新的通...

  • 前端性能优化的方法

    一、浏览器访问优化 1.减少http请求 http协议是无状态的用用层协议,意味着每次http请求都需要建立通信链...

  • HTTP,UDP,TCP协议

    HTTP协议: HTTP2.0 相比 HTTP 1.1做的优化: HTTP 1.1 在应用层以纯文本的形式进行通信...

  • HTTPS (三)

    HTTPS ****访问速度优化 Tcp fast open HTTPS 和 HTTP 使用 TCP 协议进行传输...

  • Fundebug网站升级HTTP/2,真的变快了!

    作为新一代的HTTP协议,HTTP/2可以提高网站性能,优化用户体验,Fundebug也是时候升级HTTP/2了,...

  • 前端优化总结

    前端优化总结 优化用户体验 优化响应时间 静态资源 数据接口 渲染/应用初始化 日志管理 客户端HTTP协议缓存的...

  • Retrofit和OkHttp使用网络缓存数据

    OkHttp缓存优化你的应用 Okhttp缓存原理 我们先从HTTP协议开始入手,关于缓存的HTTP请求/返回头由...

网友评论

      本文标题:HTTP协议优化措施

      本文链接:https://www.haomeiwen.com/subject/ikdgjltx.html