【发布时间】:2015-07-09 12:45:27
【问题描述】:
最近我注意到我的网站加载速度很慢。我想通过网络缓存部分解决这个问题。我对微处理器 L1 缓存有深入的经验,但是当谈到浏览器缓存时,我对缓存的了解突然停止了。这就引出了我的问题,它有两个部分:
- 如何在浏览器中缓存整个 html 页面?
- 如何在浏览器中缓存单个图像,例如徽标?
我使用 expressjs 作为我的服务器语言,使用jade 作为模板语言。
请注意,如有任何答案,我将不胜感激。
【问题讨论】:
最近我注意到我的网站加载速度很慢。我想通过网络缓存部分解决这个问题。我对微处理器 L1 缓存有深入的经验,但是当谈到浏览器缓存时,我对缓存的了解突然停止了。这就引出了我的问题,它有两个部分:
我使用 expressjs 作为我的服务器语言,使用jade 作为模板语言。
请注意,如有任何答案,我将不胜感激。
【问题讨论】:
感谢 node 和 express 的广泛社区,幸运的是已经有一个简单的解决方案可用。
var oneDay = 86400000;
app.use(compress()); //npm install compression --compresses server response
//maxAge for cache storage
app.use(express.static(__dirname + '/css/backgrounds', {maxAge: oneDay}));
app.use(express.static(__dirname + '/icons', {maxAge: oneDay}));
立即显着提高网站速度!
【讨论】:
JavaScript 有一个预加载功能,可以为您执行此操作;但是,总体而言,速度不会真正更快。这些东西仍然必须下载给访问者。最好通过减少过量来调整负载速度。
从代码中删除任何臃肿,尽可能减少,并确保您使用的图像实际上是您在浏览器中显示的大小。如果您使用 5MB 图片,但在 HTML 中将其大小调整为 320x240,它仍然需要将整个 5MB 发送给访问者,然后图片才会显示。
【讨论】: