diff --git a/internal/handlers/static_data_handler.go b/internal/handlers/static_data_handler.go index 89dacf0..513133c 100644 --- a/internal/handlers/static_data_handler.go +++ b/internal/handlers/static_data_handler.go @@ -2,6 +2,7 @@ package handlers import ( "net/http" + "strings" "github.com/gin-gonic/gin" "github.com/redis/go-redis/v9" @@ -55,7 +56,8 @@ func (h *StaticDataHandler) GetStaticData(c *gin.Context) { ctx := c.Request.Context() // Check If-None-Match header for conditional request - clientETag := c.GetHeader("If-None-Match") + // Strip W/ prefix if present (added by reverse proxy, but we store without it) + clientETag := strings.TrimPrefix(c.GetHeader("If-None-Match"), "W/") // Try to get cached ETag first (fast path for 304 responses) if h.cache != nil && clientETag != "" {