繁体   English   中英

缓存静态页面和内容nodejs

[英]Cache static pages and content nodejs

我有一个使用nodejs缓存的静态内容,据我所知,有两种方法:

  1. 这可以使用nodejs完成:

    app.use(express.static(path.join(__ dirname,'public'),{maxAge:oneDay}));

  2. 将包含静态内容的x.appcahe文件添加到缓存中,然后在html标记中添加manifest属性:

    <html manifest="x.appcache">

所以我的问题是两种方式之间的差异是什么?

  1. 在第一个中,node.js服务器使用express.js功能设置Cache-Control标头
  2. 在第二个中,HTML指定浏览器要缓存的清单。

如果您搜索“缓存控制vs html清单”,您会发现一个TON的详细信息超出了我在一个答案中可以写的内容。 但是,另一个题为HTML 5 Cache Manifest Vs的问题 Etags,Expires或缓存控制标题有一个很好的摘要和引用

HTML5缓存清单与传统HTTP标头之间的主要区别:

  • 对于缓存清单,您需要在浏览器中提供支持
  • 对于HTTP标头,您当然也需要在浏览器中获得支持,但它更具普遍性
  • 您可以通过缓存清单更好地控制缓存
  • 您的网站或Web应用程序可以脱机正常工作,完全没有连接
  • 您可以拥有每个资源的两个版本 - 用于离线和在线使用

最后一点非常方便,让您轻松交换需要连接的网站部分。 包含可选注释的占位符,如果没有连接或任何您想要的内容,用户将无法获得完整功能。

还存在一些兼容性问题,因为某些浏览器并不总是按照标准进行播放...因此,值得研究并确定哪种(缓存控制与清单)最适合您的情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM