Wasmer 宣布推出 WCGI:WebAssembly + CGI


Wasmer 团队宣布推出 WCGI —— 即 WebAssembly + CGI,可使用 WebAssembly 进行服务器端开发。

WCGI 将 WebAssembly 的强大功能与 CGI 的易用性和多功能性结合在一起。通过 WCGI,开发者使用 WebAssembly 和 Wasmer 即可运行任何 CGI 应用程序

CGI (Common Gateway Interface) 是一种 Web 服务器和应用程序之间的标准接口。它使得 Web 应用程序可以与 Web 服务器进行交互,生成动态的 Web 内容。WebAssembly 是新型的底层字节码格式,可以在浏览器中高效地执行。WCGI 将 WebAssembly 技术与 CGI 结合在一起,使得 Web 应用程序能够使用 WebAssembly 编写高效的代码,并与 Web 服务器进行通信。

具体来说,WCGI 通过将 WebAssembly 模块作为应用程序加载到 Web 服务器中,使得 Web 服务器可以使用 WebAssembly 解释器来运行这些模块。

下面是 WCGI 的部分亮点:

  • 通过将现有的 CGI 应用程序(采用 AssemblyScript、C、C++、Go、PHP、Python 等语言编写)编译为 WASI (WebAssembly System Interface) 来进行复用
  • 发送仅包含业务逻辑和静态资源的超小数据包,不依赖 HTTP 堆栈或笨重的 Docker 容器
  • 完全在沙盒运行,WebAssembly 代码在沙盒中运行,每个请求使用一个独立的实例

Wasmer 团队用漏洞最多的 Wordpress 进行了举例,他们表示得益于沙盒机制,使用 WCGI 来运行 Wordpress 就不用再担心被攻击了。

下面是在本地使用 Wasmer 安装 Wordpress 的命令:

# Install wasmer beta 2
curl https://get.wasmer.io -sSfL | sh -s "v3.2.0-beta.2"

# Execute Wordpress
mkdir db
wasmer run-unstable wasmer/wcgi-wordpress-demo --mapdir=/db:db

由此可见,通过 WCGI,那些寻求在服务器端开发中实现更高效率、安全性和灵活性的开发者可以真正从这种方法中受益。

WCGI 代表了一种改进的服务器端开发方法,它集成了 WebAssembly 的灵活性、安全性和性能。这项创新技术有可能重塑 Serverless  应用程序的格局,为开发者的项目提供强大而通用的解决方案。

延伸阅读

  • Docker 发布集成 WebAssembly 的首个技术预览版

相關推薦

2023-04-20

asmer 3.2 已正式发布。Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以及 IoT 设备,并且能嵌入在任何编程语言中。 Wasmer 3.2

2023-06-28

nbsp;已正式发布。 Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以及 IoT 设备,并且能嵌入在任何编程语言中。 Wasmer

2022-06-13

布了一个 2.3 版本。 Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以及 IoT 设备,并且能嵌入在任何编程语言中。 Wasmer 凭

2022-11-22

asmer 3.0 已正式发布。Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以及 IoT 设备,并且能嵌入在任何编程语言中。 Wasmer 3.0

2023-05-09

e 的支持,以及完整支持 WASI。据称使用 JavascriptCore 运行 WebAssembly 的速度提升了 2.5 倍。 Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从

2022-08-02

首个 Alpha 版本。 Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以及 IoT 设备,并且能嵌入在任何编程语言中。 Wasmer

2023-10-30

WinterJS)。 WinterJS 除了速度极快,还能通过 WASIX 编译成 WebAssembly,因此完全支持在 Wasmer 上运行。 使用示例 创建serviceworker.js文件,并返回 "hello world" $ wasmer run wasmer/winterjs --net --mapdir /app:. /app/serviceworker.js addEventListener(

2022-02-22

LibreOffice 团队一直在致力于将其编译到 WebAssembly (WASM),以便在浏览器中执行或可能以可移植的方式在桌面上运行,如 Wasmer 和 Wasmtime。 现如今,一个编译为 WebAssembly 的 LibreOffice 实验版本 (名为 LOWA) 已发布。根据介绍,它

2023-03-27

Docker 宣布推出与 WebAssembly 集成 (Docker+Wasm) 的第二个技术预览版。 Docker+Wasm 让开发者能够更容易地快速构建面向 Wasm 运行时的应用程序。下图介绍了 Docker 是如何与 WebAssembly 进行集成。 可以看到,Docker Engine 继续使用与整体

2022-10-28

Docker 宣布推出与 WebAssembly 集成 (Docker+Wasm) 的首个技术预览版,并表示公司已加入字节码联盟 (Bytecode Alliance),成为投票成员。 Bytecode Alliance(字节码联盟)由 Mozilla、Fastly、Intel 与 Red Hat 联合成立,是一个推动 WebAssembly 标准

2023-09-15

进行优化的静态库。 Zig 工具链现在是将libsodium编译为 WebAssembly/WASI(X) 的推荐方法。 libsodium 现在可以作为 Zig 项目的依赖项添加。 AES-GCM 实现被完全重写。现在它速度更快,并且也可在 aarch64 上使用,包括 Windows/ARM64。 新

2022-12-17

)。 根据介绍,Vercel Edge Functions 是 JavaScript、TypeScript 或 WebAssembly functions,通常比传统的 Serverless compute 更高效、更快速,因为它们在一个更精简的 runtime 内运行。默认情况下在全局部署,Edge Functions 在最接近请求的区域运行以

2023-09-13

多元共进|2023 Google 开发者大会精彩演讲回顾 Wasmer 创始人兼 CEO Syrus Akbary 在 Zig 仓库中提出了一个“支持 WASIX”的 issue;并提供了 5000 美元的悬赏。他表示,Zig 支持 WASIX 对 Wasm 和 Zig 社区来说均意义重大。 根据介绍,WASIX

2022-11-25

个安全修复程序,修复了同一个漏洞: CVE-2021-33621:CGI 中的 HTTP 响应拆分 如果应用程序使用带有不受信任的用户输入的 cgi gem 生成 HTTP 响应,则攻击者可以利用它来注入恶意的 HTTP 响应标头和/或正文。 此外,CGI::Cookie未