Almacenamiento de imágenes en caché rápido desde Google Cloud Storage

Estoy sirviendo el flujo de imágenes usando Express 4 con:

app.get('/v1/images/:Uid/', function(req, res) { var gcsbucket = gcs.bucket('bucket'), remoteReadStream = gcsbucket.file(req.params.Uid+'.jpg').createReadStream(); remoteReadStream.pipe(res); }); 

(Las imágenes se almacenan en el almacenamiento en la nube de Google).

Estoy tratando de encontrar una manera de decirle a los navegadores que guarden en caché las imágenes que estoy publicando. Intenté añadir:

 res.set('Cache-Control', 'public, max-age=31557600'); 

Pero esto no está cambiando nada cuando accedo a la API en http: // server / v1 / images / 1234 , siempre vuelve a cargar la imagen.

¿Cuál es la forma correcta de indicar a los navegadores que almacenen en caché la respuesta cuando se utiliza el servidor de flujo de datos?

Esto está funcionando realmente:

 app.get('/v1/images/:Uid/', function(req, res) { var gcsbucket = gcs.bucket('bucket'), remoteReadStream = gcsbucket.file(req.params.Uid+'.jpg').createReadStream(); res.set('Cache-Control', 'public, max-age=31557600'); remoteReadStream.pipe(res); }); 

Curiosamente, el navegador nunca se almacena en caché cuando accede directamente a la API. Sin embargo, la imagen se almacena en caché cuando la incrusta en una página html como:

  

Es suficiente para mi caso de uso, pero si alguien tiene la razón por la cual?