Es gibt in HTTP nicht nur Header, sondern auch Trailer. Damit kann man Infos nachgelagert an den Client senden.
Wie es aussieht, implementieren die Browser das aber nur für HTTP2+. Auf CanIUse sieht es merkwürdig aus.
Gefunden habe ich dies in diesem Artikel über HTTP-Features. Dort wird auch ein Beispiel geliefert, wie die Trailer verwendet werden können, um Analyse-Timings an den Client auszuliefern:
const server = http.createServer(async function (req, res) {
res.writeHead(200, {
"Content-Type": "application/json",
Trailer: "Server-Timing",
});
const dbStart = performance.now();
const data = await db.getData();
const dbTime = performance.now() - dbStart;
res.write(JSON.stringify(data));
res.addTrailers({ "Server-Timing": `db;dur=${dbTime}` });
res.end();
});