大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

Cloudflare 向 Cloudflare Workers 添加 Node.js HTTP 服务器

  • 2025-09-23
    北京
  • 本文字数:1058 字

    阅读完需:约 3 分钟

大小:545.95K时长:03:06
Cloudflare向Cloudflare Workers添加Node.js HTTP服务器

最近,Cloudflare 在 Cloudflare Workers 中实现了node:http客户端和服务器API,使开发者可以将现有的 Node.js 应用程序迁移到无服务器计算平台。这些 HTTP API 使 Express.js、Koa.js 等流行的 Node.js 框架能够在 Workers 上运行。

 

Cloudflare 首席系统工程师Yagiz NizipliJames M Snell写道:

 

这一重大更新将大家熟悉的 Node.js HTTP 接口带到了边缘,使人们能够在全球范围内部署现有的 Express.js、Koa 以及其他 Node.js 应用程序,实现零冷启动和自动扩展,并显著降低用户延迟——所有这些都不需要重写代码库。

 

为了支持 HTTP 客户端 API,Cloudflare 基于 Workers 使用的本地标准 fetch() API 重新实现了核心 node:http API,保持了 Node.js 的兼容性,而又不会对性能产生明显的影响。该封装方法支持标准 HTTP 方法、请求和响应头、请求和响应体、流式响应和基本身份验证。

 

不过,该方法是托管的,无法支持 Node.js API 的子集。当前,它有一个限制(也是与标准 Node.js 环境的一个差异)是,虽然提供了 Agent API,但是作为 no-op,不支持尾部字符串、早期提示和 1xx 响应。此外,由于 Workers 自动处理 TLS,所以不支持 TLS 特有的选项。

 

这一更新得到了社区的积极反馈,不过也有一些用户指出,这个功能早就应该引入了。Himanshu Kumar 在 X 上评论道:

 

这为无服务器 Node.js 带来了激动人心的可能性。更平滑的过渡意味着更广泛的采用和更快速的创新。

 

由于 Cloudflare Workers 在无服务器环境中运行,不提供 TCP 直连,所有网络操作都由 Workers 运行时之外的服务管理,包括处理连接池、保持连接活跃状态和管理出站 IP。Nizipli 和 Snell 解释道:

 

服务器端实现是特别有趣的部分。由于 Workers 不能创建监听特定端口的传统 TCP 服务器,我们创建了一个桥接系统,将 Node.js 风格的服务器连接到 Workers 请求处理模型。

 

当开发者新建一个 HTTP 服务器并调用 listen(port)时,不是打开一个 TCP 套接字,而是将服务器注册到 Worker 的一个内部表中,作为 http.createServer 执行和传入 fetch 请求(使用端口号作为标识符)之间的桥接。然后,开发者应使用 httpServerHandler 方法进行自动集成,或使用 handleAsNodeRequest 方法进行手动集成。

 

根据文档,当使用基于端口的路由时,作为路由键,端口号可用来确定哪个服务器处理请求,允许同一 Worker 中有多个服务器。

 

Cloudflare 并不是唯一在其无服务器计算平台上提供 Node.js 的超大型提供商,AWS LambdaGoogle Cloud RunAzure Functions也提供了 Node.js 运行时。

 

声明:本文为 InfoQ 翻译,未经许可禁止转载。

 

原文链接:

https://www.infoq.com/news/2025/09/cloudflare-node-http-workers/

2025-09-23 10:304305

评论

发布
暂无评论

逆向海淘商业模式案例分析 :Hoobuy淘宝代购集运系统丨淘宝代购集运系统搭建

tbapi

淘宝代购系统 淘宝代购集运系统 Pandabuy 反向海淘系统 hoobuy

Python高频面试题解析公开课

霍格沃兹测试开发学社

AI赋能PPT制作:一键生成,效率翻倍!

测试人

软件测试 PPT ChatGPT

电商智能化运营:解析阿里巴巴商品详情API返回值

技术冰糖葫芦

API Explorer api 货币化 API 文档

AI 日报|硅谷 “鲁迅” 怒怼马斯克,炮轰 AI 界;前 OpenAI 安全主管入职友商 Anthropic

可信AI进展

深入探索令牌桶限流的原理与实践

袋鼠云数栈

大数据 限流算法 令牌桶 令牌桶算法 数据服务

2024数智科技大会:奇点云数据云平台敏捷版、GrowingIO多主体增长分析发布

先锋IT

Python高频面试题解析公开课

测吧(北京)科技有限公司

测试

通俗易懂解释矿机平台开发

web3区块链创业团队DappNetWork

用 Baidu Comate 实现研发提效,百度营销服务团队打造“轻舸”加速营销智能化

百度Geek说

企业号 5 月 PK 榜 智能代码助手; 企业号2024年5月PK榜 Baidu Comate

公开课 | Python高频面试题解析公开课

测试人

软件测试 面试题

现代化实时数仓 SelectDB 再次登顶 ClickBench 全球数据库分析性能排行榜!

SelectDB

数据库 大数据 数据仓库 数据分析 云原生

如何利用chagpt 制作工作报告的PPT

测吧(北京)科技有限公司

测试

如何优雅实现存算分离:缓存及Tablespace讲解与演示

酷克数据HashData

存算分离

行业诚信新标杆——行云绽放荣膺AAA级企业信用等级证书

行云管家

信息安全 企业信用等级证书 信用等级

vivo 制品管理在 CICD 落地实践

vivo互联网技术

云计算 DevOps cicd 云平台 制品管理

不学习ArkTS语言,可以进行鸿蒙App的开发吗?

FN0

鸿蒙 鸿蒙开发 鸿蒙系统 小程序化

常州等保测评公司有哪些?电话多少?

行云管家

等保 等保测评 常州

“一键”掌控数据库特权,DpEasy 新版本即将启航

BinTools图尔兹

审计 备份 应用 特权账号管理

Cloudflare向Cloudflare Workers添加Node.js HTTP服务器_后端_Renato Losio_InfoQ精选文章