lewenweijia / notes

🏊 dive dive diving
1 stars 0 forks source link

浏览器缓存 #51

Open lewenweijia opened 4 years ago

lewenweijia commented 4 years ago

浏览器缓存、CacheStorage、Web Worker 与 Service Worker (https://github.com/youngwind/blog/issues/113)

CacheStorage 细粒度, 编程式缓存控制, 利用JS 浏览器内置的缓存机制, 即通过http header来实现的强缓存/协商缓存, 粗粒度的, 作为开发者/用户 是不能很精确推断是否使用了缓存 一般和sw配合使用, 打造pwa

hint: cachestorage可以单独使用的啊

一直以来,一个网页只会有两个线程:GUI 渲染线程和 JS 引擎线程。即便你的 JS 写得再天花乱坠,也只能在一个进程里面执行。然而,JS 引擎线程和 GUI 渲染线程是互斥的,因此在 JS 执行的时候,UI 页面会被阻塞住

网页进程?: 简化为两个线程, GUI线程和JS线程, 互斥执行 web worker 避免js需要进行cpu密集计算时候, 不能让出时间给GUI线程进行页面渲染

web worker: 只服务于当前页面, 生命周期跟随当前页面生命周期 service worker: 可以服务于多个页面, 生命走起跟随浏览器生命周期

任何资源?: HTML/JS/CSS/SW本身需要更新时, 都需要改变sw

sw用来做mock?