javascript - 客户端缓存 Javascript/CSS 文件

标签 javascript css performance caching

我想知道为什么我们要结合 Javascript 和 CSS 文件,因为它只是在第一页加载时有优势。在所有后续请求中,JS/CSS 从客户端浏览器缓存中加载。那么它应该不会产生任何性能差异,还是我完全错了?

最佳答案

有几个原因:

  1. 浏览器通常会限制它们可以同时向给定站点发出多少 HTTP 请求(出于礼貌,而不是超出任何真正的技术限制),并且您不一定需要 scriptC.js 和 Z .css 支持 scriptA.js 和 A.css;
  2. 每个单独的 HTTP 请求在延迟和带宽方面都有开销,即使它是导致“304 - 未修改”响应的“条件 GET”也是如此;
  3. 缓存有时会失效。在 HTTP 中,确切的过期时间通常由服务器在 HTTP 响应的 header 中设置。问题是,服务器永远无法确定更新发布之前的确切时间,因此它不断地对冲它的赌注并给出一个“足够短”的到期日期。 (为 HTML 文件中包含的资源使用唯一的生成名称是避免此子弹的一种方法......只需要检查封闭的 HTML 页面。

有两个脚本的小理由:

  1. 您可以让一个脚本尽快开始执行,同时加载大脚本。

但是,是的,这完全取决于最终用户感知的速度......尤其是在第一页加载时,当您试图赢得他们的注意力时。

关于javascript - 客户端缓存 Javascript/CSS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13726662/

相关文章:

android - Jquery Mobile App 不在 Android 上显示某些图像

javascript - Setinterval 口吃生成随机数序列

javascript - 通过 jsquery/ajax 注入(inject)的页面在任何 Chromium 浏览器中都无法正确显示

javascript - 如何使用 jquery/javascript 更改某些元素的最大长度?

html - CSS : vertically centered more than one text

python - 提高数组处理的性能

java - 降低可满足性java的算法

javascript - 解析jquery中的字符串数组

javascript - 如何获取选定的文本范围并向特定选定的文本添加颜色

css - .less 提供查询字符串时出现编译错误