服务和 Web 辅助角色之间的技术差异



我研究过 Web 和服务工作者,我知道它们适用于不同的方法。此线程更详细地描述了它们。但是,我不明白的是这两者之间的技术差异。虽然 Service Worker 是服务器和客户端应用程序之间的代理,但 Web Worker 也可以是代理。它可以访问XMLHttpRequest,因此您也可以将其用作代理。

Web 工作线程

和服务工作线程之间的技术区别是什么?

两者之间的主要区别在于,Service Worker 旨在拦截通常直接发送到远程服务的网络请求并处理事件,以便即使网络不可用,前端客户端代码也可以继续工作。也就是说,为 Web 应用程序提供离线模式的基础。前端代码发出标准 fetch(( 请求,就好像它正在与被服务工作线程拦截的服务器通信一样。

Web Worker 只是一个通用的后台线程。此处的目的是运行后台代码,以便长时间运行的任务不会阻塞主事件循环并导致 UI 变慢。Web 工作线程不会截获网络请求,而是前端代码显式地将消息发送到 Web 工作线程。

最新更新