我有一个单页网络应用程序,目前包含四个文件:
index.html
main.js
style.css
sprites.png
这意味着每个加载站点的用户都必须请求 index.html,为其他三个文件解析它,然后再发出三个 http 请求(我相信是连续的)以获取剩余的文件。
在我看来,直接在 index.html
文件中嵌入 javascript、css 和 sprite 图像(base64 编码)可能会(稍微)快一些。
我认为不这样做的主要原因,以及我认为它们不适用于这种情况的原因如下:
- 将阻止任何这些附加文件被单独缓存。这对我来说不是问题,因为它们永远不会从另一个页面加载(因为只有一个 html 页面)
- 如果文件位于不同的 CDN 服务器上,则可以并行下载它们。 (目前这个项目还不够大,不适合多台服务器)
我应该透露一下,这个网站是一个小型宠物项目,它的规模远远不够大,不足以进行这种细致的性能调整,但我喜欢使用宠物项目作为探索我所遇到的问题(及其解决方案)的途径可能会在我的日常工作中遇到。
请您参考如下方法:
通常不会这样做,因为您会增加整个 HTML 页面的大小。您将在第一次访问时保存几个请求,但您将强制客户端在每次获取 HTML 文件时重新加载所有内容。
它会提高只访问过您网站一次的用户的性能。对于任何一种长期战略,它都是不合适的。