调用 CDN jquery 增加多少时间?

How much time does calling CDN jquery add?

我想知道是否有人通过调用以下方式了解每页加载增加了多少时间:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

具体来说,我想知道从添加对 google 托管 jquery 的呼叫中,第二次有人访问同一页面 会增加多少时间],相对于:

  1. 未加载jquery
  2. 从 html 页面所在的页面加载 jquery
  3. 从本地存储的文件加载 jquery(如果 html 页面是从本地存储的页面加载的,例如 chrome 扩展)。

因此,如果您从我的问题的字里行间读到,我 真正 想知道的是,调用 CDN jquery 比加载快还是慢本地页面。

我一直听说 CDN jquery 速度很快,因为它有缓存。我的问题是试图了解这种缓存的工作原理?

针对反对票进行编辑:

我对这个答案很感兴趣,不管它是否有任何明显的或 "practical" 意义。我正在尝试开发一个更好的心理模型,以了解缓存在此上下文中的工作方式以及浏览器如何加载和解析本地托管的 javascript.

这真的完全取决于托管 html 的服务器的速度。是的,CDN 非常快。但是正如您所指出的,一旦浏览器缓存了资源(用户第一次访问您的页面),它无论如何都会从缓存中加载资源。另外,jquery小。事实上,大多数托管平台都会产生类似的结果。

第二次有人访问您的页面时,文件将被缓存,因此在您的场景中,它大致是

  1. 几毫秒
  2. 相同
  3. 相同

CDN 的好处在于,如果您使用流行的 CDN,用户将已经 缓存了它,这意味着他们第一个页面加载也会更快。他们也可能拥有离用户更近的服务器。

长话短说

使用 CDN。

考虑到 CDN 对文件进行了高度缓存,传送将始终如一地快速。

这是从都市区获取的下载速度:

        time_namelookup:  0.005
           time_connect:  0.042
        time_appconnect:  0.203
       time_pretransfer:  0.203
          time_redirect:  0.000
     time_starttransfer:  0.216
                        ----------
             time_total:  0.248 milliseconds

          size_download:  86351 Bytes
         speed_download:  347767.000 B/sec