热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

服务工作者与共享工作者

如何解决《服务工作者与共享工作者》经验,为你挑选了2个好方法。

Service Worker和Shared Worker有什么区别?

什么时候应该使用Service Worker而不是Shared Worker,反之亦然?



1> Jeff Posnick..:

服务工作者具有超出共享工作者可用功能的其他功能,并且一旦注册,它们将在给定网页的生命周期之外持续存在.

服务工作者可以响应message事件,例如共享工作者,但他们也可以访问其他事件.处理fetch事件允许服务工作者拦截任何网络流量(源自受控页面)并采取特定操作,包括从Request/ Response缓存提供响应.还计划向push服务工作者公开事件,允许Web应用程序在"后台"接收推送消息.

另一个主要区别与持久性有关.一旦服务工作者注册了特定的来源和范围,它就会无限期地保持注册状态.(如果底层脚本发生更改,服务工作者将自动更新,并且可以手动或以编程方式删除,但这是例外.)因为服务工作者是持久的,并且具有独立于Web浏览器中活动页面的生命它打开了诸如使用它们为上述推送消息传递提供动力的大门 - push只要浏览器正在运行,服务工作者就可以"醒来"并处理事件,无论哪个页面处于活动状态.未来的Web平台功能也可能会利用这种持久性.

还有其他技术差异,但从更高层次的角度来看,这些是突出的.


服务人员的生命周期很短:["建议开发人员记住服务工作人员每秒可能会多次启动和杀死."](http://www.w3.org/TR/2015/WD-service -workers-20150205 /#动机).但是,当你说"寿命"时,你可能并不是一回事.

2> Dominic Ceri..:

SharedWorker上下文是一个状态的会话,并且被设计来复用的网页到经由异步消息(客户机/服务器模式)的单个应用程序.它的生命周期是基于域的,而不是像DedicatedWorker(双层范例)这样的单页面.

一个ServiceWorker方面的设计是无状态的.它实际上根本不是持久会话 - 它是控制反转(IoC)或基于事件的持久性服务范例.它提供活动,而不是会议.

一个目的是为数据库和其他持久性服务(即云)的长期运行查询(LRQ)提供并发安全异步事件.正是线程池在其他语言中的作用.

例如,如果您的Web应用程序为各种云服务执行许多并发安全LRQ以填充自身,那么ServiceWorkers就是您想要的.您可以立即执行数十个安全LRQ,而不会阻止用户体验.SharedWorkersDedicatedWorkers不能轻易处理许多并发安全LRQ.此外,某些浏览器不支持SharedWorkers.

也许他们应该称之为ServiceWorkers:为了清晰起见,CloudWorkers,但并非所有服务都是云.

希望这个解释可以引导您思考各种工作者类型如何设计为一起工作.每个都有自己的专业化,但共同的目标是减少DOM延迟并改善基于Web的应用程序的用户体验.

在一些WebSockets中输入推送通知和WebGL图形,你可以构建一些像多人游戏机游戏一样的吸烟热门网络应用程序.


所有工作人员都是后台工作人员 - 他们的观点是将工作从前台(DOM)线程推出.
推荐阅读
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 2018深入java目标计划及学习内容
    本文介绍了作者在2018年的深入java目标计划,包括学习计划和工作中要用到的内容。作者计划学习的内容包括kafka、zookeeper、hbase、hdoop、spark、elasticsearch、solr、spring cloud、mysql、mybatis等。其中,作者对jvm的学习有一定了解,并计划通读《jvm》一书。此外,作者还提到了《HotSpot实战》和《高性能MySQL》等书籍。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • 第8章 使用外部和内部链接
    8.1使用web地址LearnAboutafricanelephants. ... [详细]
  • struts2重点——ValueStack和OGNL
    一、值栈(ValueStack)1.实现类:OGNLValueStack2.对象栈:CompoundRoot( ... [详细]
  • CISCO ASA防火墙Failover+multiple context详细部署By 年糕泰迪[操作系统入门]
    一.文章概述本文主要就CISCOASA防火墙的高可用和扩张性进行阐述和部署。再cisco防火墙系列中主要有3种技术来实现高可用和扩张性。分别是Failover,multiplese ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • angular.element使用方法及总结
    2019独角兽企业重金招聘Python工程师标准在线查询:http:each.sinaapp.comangularapielement.html使用方法 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
author-avatar
HuPangpang_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有