Request Lifecycle
H3 dispatches incoming web requests to final web responses.
Below is an overview of what happens in a H3 server from when an HTTP request arrives until a response is generated.
#1. Incoming Request
When An HTTP request is made by Browser or fetch(), server fetch handler receives a Request object.
Tip
💥 Srvx provides unified server.fetch interface and adds Node.js compatibility.
#2. Accept Request
H3 Initializes an H3Event instance from incoming request, calls onRequest global hook and finally H3.handler with the initialized event.
#3. Dispatch Request
H3 matches route based on request.url and request.method, calls global middleware and finally matched route handler function with event.
Tip
🚀 Internally, H3 uses srvx FastURL instead of new URL(req.url).pathname.
#4. Send Response
H3 converts returned value and prepared headers into a Response, calls onResponse global hook and finally returns response back to the server fetch handler.