Cap'n Web - JavaScript 原生 RPC 系统
Cap'n Web 是 Cap'n Proto 的精神兄弟(由同一位作者创作),但专为在 Web 技术栈中顺畅运行而设计。这意味着:
- 与 Cap'n Proto 类似,它是一个对象能力协议。(“Cap'n” 是“capabilities and” 的缩写。)
- 与 Cap'n Proto 不同,Cap'n Web 没有架构。事实上,它几乎没有任何样板代码。这意味着它的工作方式更像Cloudflare Workers 中的 JavaScript 原生 RPC 系统。
- 也就是说,它与 TypeScript 很好地集成了。
- 与 Cap'n Proto 不同的是,Cap'n Web 的底层序列化是人类可读的。实际上,它只是 JSON,经过了一些预处理/后处理。
- 它可以通过 HTTP、WebSocket 和 postMessage() 开箱即用,并能够轻松扩展到其他传输。
- 它适用于所有主流浏览器、Cloudflare Workers、Node.js 和其他现代 JavaScript 运行时。整个程序可压缩(minify+gzip)至 10kB 以下,且无任何依赖项。
Cap'n Web 比几乎所有其他 RPC 系统都更具表现力,因为它实现了一个对象能力 RPC 模型。这意味着它:
- 支持双向调用,客户端可以调用服务端,服务端也可以调用客户端。
- 支持通过引用传递函数:如果你通过 RPC 传递函数,接收者会收到一个“stub”。当他们调用该 stub 时,实际上是在向你发起一个 RPC,并在创建该函数的位置调用该函数。这就是双向调用的原理:客户端将回调传递给服务器,然后服务器稍后可以调用它。
- 类似地,支持通过引用传递对象:如果一个类扩展了特殊标记类型
RpcTarget
,那么该类的实例将通过引用传递,方法调用将回调到创建对象的位置。 - 支持 Promise 流水线。启动 RPC 时,会返回一个 Promise。无需等待,您可以立即在依赖的 RPC 中使用该 Promise,从而在一次网络往返中执行一系列调用。
- 支持基于能力的安全模式。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
DeepSeek 更新线上模型,V3.2 版本发布在即
DeepSeek 官方今天下午发布简短公告:线上模型已完成版本更新,邀请用户测试反馈。 虽然官方没有透露具体型号,但从其 Hugging Face 的动态来看,这很可能就是传闻中的 DeepSeek V3.2。 今天下午 2 点左右,用户发现 Hugging Face 平台出现名为 “deepseek-v3.2” 的模型仓库,但仅包含一个.gitattributes 文件,未公开具体模型文件。 约 1 小时后(15 时 40 分),页面显示 404 错误,相关内容被下架,但分类目录中仍可短暂看到记录。
-
下一篇
Windows 11 的 Bing 不希望你使用 Google,因此弹出了“捐赠”提示
是什么能让你留在Bing而不是跳转到Google?是宣传Microsoft Edge功能的横幅、模仿Google外观的页面,还是承诺你每次搜索都能通过Microsoft Rewards为慈善捐款的Google风格搜索栏?实际上,当你在Edge浏览器中输入“Google”时,Bing就会展示这些内容。 2025年1月,Bing.com在用户搜索Google时,UI出现了有争议的调整。彼时,以及之后很长一段时间,Bing通过模仿Google界面,试图劝导用户放弃Google。 作者本人在Bing上搜索“Google”时,发现页面出现了第二个搜索栏,并配有类似Google主页上庆祝场景的动态图片。这一操作非常巧妙,因为普通用户会因为熟悉的UI而不知不觉间继续停留在Bing页面。 旧版广告通过模仿Google外观吸引用户,现在则被新的“捐赠”提示所取代,或许能让部分用户继续使用Bing。 如截图所示,熟悉的Bing主页广告会在你尝试查找Google时占据页面核心位置。这一次,广告语变成了“每一次Microsoft Bing搜索,都能让你距离为超过200万个非营利组织完成一次免费捐赠更近一步”。...
相关文章
文章评论
共有0条评论来说两句吧...