Здесь может быть более простое решение. Это требует, чтобы вы никогда не перезаписывали данные, связанные с каким-либо идентификатором, например, изменение изображения приведет к созданию нового идентификатора (и, следовательно, нового URL).
Просто установите заголовок Expires
из вашего обработчика запросов на далекое будущее, например, сейчас + год. Это приведет к тому, что клиенты будут кэшировать изображение и не будут запрашивать обновление, пока не наступит это время.
У этого подхода есть некоторые компромиссы, такие как обеспечение того, что новые URL-адреса внедряются при изменении изображений, поэтому вы должны решить сами. Jbochi предлагает другую альтернативу, которая добавляет больше логики в обработчик запросов изображения.