我正在设计一个 JavaScript 安全加载器。加载程序内嵌在 index.html
中。安全加载器的目标是只加载受信任的 JavaScript 资源。 index.html
的内容主要限于安全加载程序。出于安全考虑,我希望 index.html
(存储在缓存中)永远不会更改,即使我的网站被黑也是如此。
如何在服务器无法篡改缓存的情况下缓存 index.html
?我想知道 ServiceWorker
是否可以提供帮助。实际上,index.html
会注册一个 service worker 以从不可变缓存中获取自身(甚至不发出网络请求)。
最佳答案
在 chrome 中你可以使用 FileSystem API
http://www.noupe.com/design/html5-filesystem-api-create-files-store-locally-using-javascript-webkit.html这允许您通过浏览器保存和读取沙盒文件系统中的文件。
至于其他支持,它尚未被确认为 HTML5 规范集的补充。所以它只适用于 chrome。
您还可以使用 IndexDB所有现代浏览器都支持此系统。
您可以在 Service Worker 中使用这两种服务来管理内容的加载和管理,但是我不得不质疑您为什么要阻止自己更新 index.html
关于javascript - 使用 ServiceWorker 的永久浏览器缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41699970/