'Express enable client side caching

I am trying to cache a file client side with NodeJs and Express.

Here an example of what I am trying to do :

const path = require('path');
const express = require('express')
const app = express()

app.get('/', (req:any, res:any)=>  res.send('Hello World!') );
app.get('/file', (req:any, res:any)=> {
    console.log('Request URL:', req.originalUrl);
    res.set('Cache-Control', 'public, max-age=60'); 
    res.sendFile(path.resolve(__dirname+'/../file.pdf'));
});

app.listen(3000, ()=>console.log('Example app listening on port 3000!') );

Then I browse the file twice and I expect to have only one log Request URL: /file. But with this code I got two. It seems that either my Cache-Control headers is ignored by the browser or it get mixed up with default Express behavior like ETag..

Any Idea ?



Solution 1:[1]

I'm not sure but first thing that I thought about was the file size. Maybe it is too big?

what-is-chrome-default-cache-size-limit

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Eghizio