我们有一个完全在浏览器中运行的模拟 Web 应用程序。这个模拟需要下载大量的静态文件(JS、CSS、Images)。特定模拟包的大小为几兆字节。即使文件被缓存,对于慢速网络上的用户来说,第一次加载体验还是很差的。模拟是在测试场景中进行的,他们需要在一天中的规定时间进行测试,所以这对他们来说是个问题。
我们如何将静态资源作为可下载的包提供,可以预先泵入他们计算机的浏览器缓存中?将资源打包下载很容易,如何将它们推送到缓存中,以便浏览器识别和使用它们而不是从服务器下载它们?
我们有一个完全在浏览器中运行的模拟 Web 应用程序。这个模拟需要下载大量的静态文件(JS、CSS、Images)。特定模拟包的大小为几兆字节。即使文件被缓存,对于慢速网络上的用户来说,第一次加载体验还是很差的。模拟是在测试场景中进行的,他们需要在一天中的规定时间进行测试,所以这对他们来说是个问题。
我们如何将静态资源作为可下载的包提供,可以预先泵入他们计算机的浏览器缓存中?将资源打包下载很容易,如何将它们推送到缓存中,以便浏览器识别和使用它们而不是从服务器下载它们?
你的建议是 - 据我所知 - 不可能。这会造成一个巨大的安全漏洞——如果用户将任意文件加载到他们的浏览器缓存中以在 Web 请求的上下文中呈现,它会允许攻击者欺骗各种东西——例如注入 JavaScript 以将用户重定向到网络钓鱼如果他们可以上传假装是银行网站一部分的 JS,则该网站。
你可以做很多事情来加速资产的初始命中 - YSlow会给你很多有用的提示。