From 0f181833e5fb9d1bda3bc6ca48014a22f64f73b9 Mon Sep 17 00:00:00 2001 From: szbk Date: Thu, 4 Dec 2025 21:32:55 +0300 Subject: [PATCH] =?UTF-8?q?Profile=20avatar=20i=C3=A7in=20cache=20eklendi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/server.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/server/server.js b/server/server.js index 54ab360..2da7f94 100644 --- a/server/server.js +++ b/server/server.js @@ -232,8 +232,17 @@ app.get("/api/profile/avatar", requireAuth, (req, res) => { if (!fs.existsSync(AVATAR_PATH)) { return res.status(404).json({ error: "Avatar bulunamadı" }); } + const stat = fs.statSync(AVATAR_PATH); + const etag = `W/"${stat.size}-${stat.mtimeMs}"`; + + if (req.headers["if-none-match"] === etag) { + return res.status(304).end(); + } + res.setHeader("Content-Type", "image/png"); - res.setHeader("Cache-Control", "no-store"); + res.setHeader("Cache-Control", "public, max-age=2592000, stale-while-revalidate=86400"); + res.setHeader("ETag", etag); + res.setHeader("Last-Modified", stat.mtime.toUTCString()); fs.createReadStream(AVATAR_PATH).pipe(res); });