Web Standards
Hono 完全基于 Web Standards(Web 标准),例如 Fetch API。这些标准最初用于 fetch
函数,由处理 HTTP 请求和响应的基本对象组成。除了 Request
和 Response
,还包括 URL
、URLSearchParams
、Headers
等。
Cloudflare Workers、Deno 和 Bun 也都基于 Web Standards 构建。例如,一个返回 “Hello World” 的服务器,可以这样写:
export default {
async fetch() {
return new Response('Hello World')
},
}
Hono 只使用 Web Standards,这意味着只要运行时支持这些标准,Hono 就能运行。此外,Hono 还提供了 Node.js adapter。目前,Hono 支持以下运行时:
- Cloudflare Workers (workerd)
- Deno
- Bun
- Fastly Compute
- AWS Lambda
- Node.js
- Vercel (edge-light)
它还可以运行在 Netlify 和其他平台上,实现 同一份代码在所有平台运行。
Cloudflare Workers、Deno、Shopify 等公司发起了 WinterCG,讨论利用 Web Standards 实现 Web 互操作性 的可能性。Hono 将紧随其步伐,致力于成为 Web Standards 的标准实现。