我正在构建一个提供敏感患者信息的应用程序。 我的一条路线显示了从服务器收到的HTML片段,其中包含患者文档的图像。
我需要确保在关闭页面后无法在磁盘上访问该文档
如果留在那里,这将是一个非常大的问题。
我注意到该路由是缓存的,我不得不从$ templateCache中删除它以检测更改。这只是缓存在内存中还是本地硬盘?
更广泛的问题可能是:根据HTTP缓存控制标题,Angular会在持久存储上缓存除浏览器已经执行的任何内容吗?
答案 0 :(得分:0)
这实际上取决于您所看到的抽象级别:
Javascript应用程序无法将任意文件写入磁盘 - 有着名的浏览器沙箱,这也适用于angular.js应用程序。因此,如果您没有在您自己的代码中专门使用浏览器离线API,例如LocalStorage,Cookies,...,那么就会有"只是"通常的浏览器缓存。所以你应该没事。
警告1:有时控制浏览器缓存似乎很难,浏览器缓存的方式有多种,如前所述。它们通常可以通过http标头。因此,如果您非常仔细地配置HTTP标头,那么您应该没问题。 警告2:操作系统有多种方式缓存内容,它们可能会或可能不会将这些缓存中的一些保存到磁盘上(作为一个简单的示例,请考虑Windows休眠文件:当您使用时,可能会有一个图像副本让它在休眠状态下在浏览器中打开。)这不能通过浏览器应用程序控制 - 但对于大多数应用程序而言,这并不重要。