标签
note
字数
514 字
阅读时间
2 分钟
背景
前端打包后生成的 HTML 文件通常包含页面的基本结构、布局和内容,以及引用其他资源文件的链接,如 JavaScript、CSS 和图片等。
这些资源文件的链接通常可以通过指定 CDN 的地址来实现加速访问,从而提高页面的加载速度和用户体验。
问题
通常前端资源中,js、css 等静态资源部署在 cdn 上,而 html 则不会,这是为什么呢?
资源大小
HTML 文件本身通常不太大,其下载速度很快,而且它们的访问量相对较少,使用 CDN 对其加速的效果不是很明显。
但是,对于 JavaScript、CSS 等静态资源文件,由于它们的体积较大,下载速度较慢,因此我们通常需要将它们放到 CDN 上,以实现加速访问。此外,这些静态资源文件的访问量也比 HTML 文件要大得多,因此使用 CDN 对其加速的效果会更加显著。
实时性
CDN 加速的本质是缓存加速。将服务器上存储的静态内容缓存在 CDN 节点上,当访问这些静态内容时,无需访问服务器源站,就近访问 CDN 节点即可获取相同内容,从而达到加速的效果,同时减轻服务器源站的压力
由于访问动态内容时,每次都需要访问服务器,由服务器动态生成实时的数据并返回。因此 CDN 的缓存加速不适用于加速动态内容,CDN 无法缓存实时变化的动态内容。对于动态内容请求,CDN 节点只能转发回服务器源站,没有加速效果
通常一个 html 中引用的 js 和 css 文件地址是多变的,所以在这点上并不契合