缓存静态页面和内容nodejs

时间:2014-07-10 12:54:11

标签: javascript html html5 node.js

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

  1. 这可以使用nodejs来完成:

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

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

    <html manifest="x.appcache">

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

1 个答案:

答案 0 :(得分:3)

  1. 在第一个中,node.js服务器正在使用express.js功能设置Cache-Control header
  2. 在第二个中,HTML指定浏览器要缓存的清单。
  3. 如果您搜索&#34;缓存控制vs html清单&#34;你会发现一大堆细节超过了我在一个答案中可以写出的内容。但是,另一个标题为HTML 5 Cache Manifest Vs. Etags, Expires or cache-control header的问题有一个很好的总结和引用

      

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

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

    最后一点非常方便,让您轻松交换部分内容   需要与例如联系的网站。包含可选的占位符   评论说用户没有完整的功能   连接或任何你想要的。

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