На моем сервере я выставляю некоторые статические ресурсы, одним из которых является изображение профиля от пользователей.
const express = require('express');
const serve = express();
function cacheControl(res, path, stat) {
res.header('Cache-Control', ['no-cache', 'public']);
}
serve.use(
express.static('directory', {
setHeaders: cacheControl
})
);
Так что на внешнем интерфейсе, когда вы получите информацию о пользователе, он вернет URL-адрес изображения, который будет чем-токак это:
https://localhost:4000/root/directory/userprofile/${userId}.${extension}
Когда пользователь обновляет свой профиль, он отправляет новое изображение toto.png
Я изменяю имя файла для userId так: ${userId}.png
Когда файл загружается извеб, изображение не изменится вообще, потому что от URL это будет тот же путь.Браузер по-прежнему будет использовать кэшированное изображение из первого запроса.(Только если я изменю имя расширения, изображение будет перезагружено).
Я могу переименовать мой файл для ${userId}-${Date}.${extention}
, но я бы хотел обработать его с заголовком http.Я попытался установить некоторый заголовок управления кэшем, но он все еще не загружается на мой сервер и не использует кеш.
edit: мой сервер и фронт не находятся в одном источнике, и у меня есть прокси сверхусервера