SW 复杂,事件驱动,可以拦截请求,和缓存这些请求的响应数据,实现的效果更加灵活 AppCache 简单易用,声明式的将要缓存的文件清单声明在一个文件中.由于设计上的原因,它存在一些问题,导致难以运用到实际项目中,所以一般都使用sw,如果不支持sw的话才使用appCache.这是它唯一的运用场景了.而且AppCache逐渐地被Web标准移除,虽然现在依然有浏览器支持这个功能,但最好不要再使用它了. 引用MDN原文如下: This feature has been removed from the…
Service Worker 处理网络请求的后台服务.适用于离线和后台同步数据或推送信息.不能直接和dom交互.通过postMessage方法交互. Web Worker 模拟多线程,允许复杂计算功能的脚本在后台运行而不会阻碍到其他脚本的运行.适用于处理器占用量大而又不阻碍的情形.不能直接与dom交互.通过postMessage方法交互. WebSocket 在客户端和服务端之间建立保持双向通信的连接.适用于需要保持长推送的情形,如聊天应用,在线游戏或运动直播等.不能直接与dom交互.通过sen…
许多非REST API甚至可以用于读取数据的POST请求:典型的例子是graphql.soap和其他rpcpapi.但是,Post请求不能在一个现成的渐进式Web应用程序中缓存和脱机使用.浏览器的缓存API不会接受它们.下面是一个在IncedB中使用自定义缓存的解决方案. 幸运的是Service Worker可以截获任何异步请求,因此我们处理POST请求没有问题.缺少的是在离线时缓存它们并检索相应的响应的可能性. 在下面的示例中,我们将在indexeddb中创建一个简单的缓存,并将其用作回退(n…
service worker 离线存储 简介: 一般的网站 在我们无法访问的 时候 一般 回出现 如下 该网页无法访问 service worker 构建的网站不会出现这个错误,因为所有的 请求都是先经过 service work 在往后端发送,在没有网的情况下,就回出现 预先声明的内容,先缓存了预先声明的文件 类似 如下 创建 步骤 先注册 service-worker 声明哪些文件需要缓存起来 具体MDN写的非常清晰,我就不贴代码了 要求 只能是https环境,在本地开发的时候,localh…
serviceWork.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Com…
Service Worker 随着前端快速发展,应用的性能已经变得至关重要,关于这一点大佬做了很多统计.你可以去看看. 如何降低一个页面的网络请求成本从而缩短页面加载资源的时间并降低用户可感知的延时是非常重要的一部分.对于提升应用的加载速度常用的手段有Http Cache.异步加载.304缓存.文件压缩.CDN.CSS Sprite.开启GZIP等等.这些手段无非是在做一件事情,就是让资源更快速的下载到浏览器端.但是除了这些方法,其实还有更加强大的Service Worker线程. Servic…
Service Worker是什么 service worker 是独立于当前页面的一段运行在浏览器后台进程里的脚本.它的特性将包括推送消息,背景后台同步, geofencing(地理围栏定位),拦截和处理网络请求. 这个 API 会让人兴奋的原因是,它可以使你的应用先访问本地缓存资源,所以在离线状态时,在没有通过网络接收到更多的数据前,仍可以提供基本的功能(一般称之为 Offline First). 在 service worker 之前,另一个叫做 APP Cache 的 api 也可以提供…
摘要: 理解Service Worker. 原文:JavaScript 是如何工作的:Service Worker 的生命周期及使用场景 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 这是专门探索 JavaScript 及其所构建的组件的系列文章的第8篇. 如果你错过了前面的章节,可以在这里找到它们: JavaScript是如何工作的:引擎,运行时和调用堆栈的概述! JavaScript是如何工作的:深入V8引擎&编写优化代码的5个技巧! JavaScript如何工作:内存管理…
一.参考链接 https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API http://www.alloyteam.com/2016/01/9274/ 二.功能 service worker使得web app拥有与native app相同的离线体验.消息推送体验. 1.离线缓存 2.消息推送…
浏览器缓存和Service Worker @billshooting 2018-05-06 字数 6175 Follow me on Github 标签: BOM 1. 传统的HTTP浏览器缓存策略 在一个网页的生命周期中,开发者为了缩短用户打开页面的时间,通常会设置很多缓存.其中包括了: 浏览器缓存 代理服务器缓存(CDN缓存) 服务器缓存 数据库缓存 等各种缓存.这些缓存大多数和前端没什么关系,也不由前端开发者控制,其中和前端较为密切的是浏览器缓存,但它本质上也是由服务器控制的. 在Serv…