请求生命周期
H3 将传入的网络请求分派到最终的网络响应。
以下是 H3 服务器中从 HTTP 请求到达到生成响应的整个过程概览。
1. 传入请求
当浏览器或 fetch() 发起 HTTP 请求时,服务器的 fetch 处理器会接收一个 Request 对象。
2. 接受请求
H3 从传入请求初始化一个 H3Event
实例,调用 onRequest
全局钩子,最后调用初始化好的事件的 H3.handler
。
3. 分派请求
H3 根据 request.url
和 request.method
匹配路由,调用全局 中间件,最终调用匹配到的路由处理函数并传入事件。
🚀 在内部,H3 使用 srvx 的
FastURL
替代 new URL(req.url).pathname
。4. 发送响应
H3 将返回的值和 准备好的头部信息 转换成一个 Response,调用 onResponse
全局钩子,最后将响应返回给服务器的 fetch 处理器。