闲着写点简单的分享

证明:减少HTTP请求数能减少网页传输时间

这应该是一道标准的初中数学题吧,至少初中学历的应该能看得懂吧~(我猜的/逃

既然有看得懂的能力,那就开始吧~


题目告诉我们两个关键词是HTTP请求数网页传输时间,那么其他的一些额外条件和影响因素就需要我们去假设,那么就~

假设有资源 r1, r2, r3, r4..., rn,其大小分别为 s1, s2, s3, s4..., sn。当前网络环境是稳定的,每建立一个HTTP连接所耗时为t,网络传输速度为b。这里由于是对同一个站点的请求,请求不同的资源时所发送的请求时间p应该相同,等待资源进行传输的时间w也应该相同(这个时间也可以认为是从服务器收到请求到开始传输返回结果的响应时间)。在现代浏览器中,常采用同时建立多个连接方式并发获取资源,这里假定并发连接数为h。传输所有数据消耗的时间分为四个部分:连接建立,发送请求,等待传输,资源传送。不考虑连接销毁的情况。

我们再简单列出我们的假设好的一些变量和常量

  • 资源有 r1, r2, r3, r4..., rn
  • 资源大小 s1, s2, s3, s4..., sn
  • 一个HTTP连接耗时t
  • 网络传输速度b
  • 发送请求时间p
  • 等待资源进行传输的时间w
  • 并发连接数h

那么在未优化时,传输所有数据需要耗时为T1:

T1=t+np/h+nw/h+(s1+s2+s3+s4+...+sn)/bh

化简为:

T1=t+n(p+w)/h+(s1+s2+s3+s4+...+sn)/bh

假设优化后,资源数量减少到k,那么资源有 R1, R2, R3, R4..., Rk,其大小分别为 S1, S2, S3, S4..., Sk。建立连接需要消耗的时间t,网络传输速度b,发送请求时间p,等待资源传输的时间w,并发连接数h均不变。

那么在优化后,传输所有数据需要耗时为T2:

T2=t+kp/h+kw/h+(S1+S2+S3+S4+...+Sk)/bh

化简为:

T2=t+k(p+w)/h+(S1+S2+S3+S4+...+Sk)/bh

还有一个重要因素,为了保证优化前和优化后,用户都能看到是同一个网页内容,减少资源数量的方式采用的是合并资源,说明 s1+s2+s3+s4+...+sn = S1+S2+S3+S4+...+Sk,合并资源不会造成资源的总大小发生变化。故优化后,减少的网络传输时间为:

T1-T2=(n-k)(p+w)/h

看到这里,不要告诉我已经忘了公式中的字母代表意义。好吧,我知道了,其中

  • n为优化前的资源数
  • k为优化后的资源数
  • p为发送请求时间
  • w为等待资源传输的时间
  • h为并发连接数

通过上面的推理证明可知,要使网页传输时间获取最小值,则k取最小值1,资源最多只能合并为1个。当然在实际情况下,k值应取合理值。

同时,我们还发现发送请求时间p与等待资源进行传输的时间w也是对网页传输时间有着巨大的影响,用户可以通过升级上网宽带等方式实现缩短发送请求时间,和站长提升服务器性能等方式实现缩短等待资源传输的时间来提高上网体现。

那么最后一个问题是,你看懂了吗?

已有 14 条评论
  1. 朱焱博客

    博主,我有初中学历咋看不懂啊

    朱焱博客 回复
  2. 云计算笔记

    上H2不是可以搞定么

    云计算笔记 回复
    1. Chakhsu Lau

      哈哈哈,推荐看一下我写的教程,https://www.linpx.com/p/enable-http2-support.html 应该会有些帮助。

      Chakhsu Lau 回复
  3. 大官人

    博主你好 我用了您的主题 特来感谢!请问图片你是怎么显示的??

    大官人 回复
    1. Chakhsu Lau

      附件里,上传图片,保证第一个附件是该图片,第二种方法是文章编辑的时候自定义字段,image,后面就是你图片的URL

      Chakhsu Lau 回复
  4. hello

    鼠标移动上去图片有动态效果是主题默认的吗?
    难道因为我用的typecho是正式版因此没有实现?

    hello 回复
    1. Chakhsu Lau

      首先建议使用开发版,然后效果是默认的。

      Chakhsu Lau 回复
  5. 泽辉

    额,楼主用了你的主题,然后首页,每篇文章标题前的小的圆的图片不显示,审查元素也没发现地址,是怎么回事呢,赐教。

    泽辉 回复
    1. 泽辉

      好像是自定义字段,知道了,感谢感谢,想问这些自定义字段怎么增加啊,图片是来自哪里。

      泽辉 回复
  6. Alex

    很不错的主题

    Alex 回复
  7. 陌上花开

    楼主,我用了你的主题感觉不错,但是总是差点什么,后来发现是图片,你这个博客首页上的图片是哪里找的呢?望告知,谢谢!

    陌上花开 回复
    1. Chakhsu Lau

      试一下这个:www.parrottalks.com/note/grad-gen/

      Chakhsu Lau 回复
      1. 陌上花开

        我也提供一个吧~这个是Google的搜索结果,很多类似的哦~
        https://www.google.co.jp/search?tbm=isch&tbs=rimg%3ACZtvLHcZ-lQ9Ijiz9H6gJpLUmfQhPbIid6P14ZtJSq1ZoqW2RGVeY2ONT5LTS1eMDRbVjlDQ3lMoLQd7aLFBqnh41ioSCbP0fqAmktSZEfT5n6bqXEygKhIJ9CE9siJ3o_1URrADttxXnpYcqEgnhm0lKrVmipRHO9c0mM7j7SSoSCbZEZV5jY41PEc7DcRfOqQG3KhIJktNLV4wNFtURJ32QkQGPqDMqEgmOUNDeUygtBxEw_19pC6SLU2yoSCXtosUGqeHjWEawA7bcV56WH&q&hl=en-JP&bih=995&biw=1920&ved=0ahUKEwiX0_HL_c_NAhWLHpQKHaQyBzUQ9C8ICQ&dpr=1#imgrc=hq6bFec1KnrR9M%3A

        陌上花开 回复
        1. Chakhsu Lau

          额,大概就是这样的。。。

          Chakhsu Lau 回复
发表新评论