Как я могу переопределить свойство максимального возраста Cache-Control - PullRequest
0 голосов
/ 11 июня 2018

У меня есть HTML-страница, которая подается с сервера узлов, и я установил большое значение для максимального возраста -

function setCustomCacheControl(res, mimePath) {
  try {
    const cachedMimeType = ['text/html', 'text/css', 'text/javascript', 'application/javascript', 'text/plain', 'text/css', 'image/gif', 'image/png', 'image/jpeg', 'image/bmp', 'image/webp', 'image/svg+xml'];
    if (cachedMimeType.indexOf(serveStatic.mime.lookup(mimePath)) > -1) {
       res.header('Cache-Control', 'public, max-age=86400000'); 
    } else {
      res.header('Cache-Control', 'private, no-cache, no-store, must-revalidate, max-age=0');
      res.header('Pragma', 'no-cache');
      res.header('Expires', '-1');
    }
  } catch (e) {
    console.error('Cache-Control: error', e);
  }

}

После установки этого значения, если я изменяю любой JS или CSS, тогдаЯ не получаю обновления в браузере, если я не делаю жесткого обновления или очистки кеша.Причина в том, что я также устанавливаю максимальный возраст для HTML-страницы, чтобы браузер всегда загружал старое содержимое.

На этом этапе я удалил HTML, CSS и JS из списка кэшированных массивов и установил более низкое свойство max-age.

function setCustomCacheControl(res, mimePath) {
  try {
    const cachedMimeType = ['text/plain', 'image/gif', 'image/png', 'image/jpeg', 'image/bmp', 'image/webp', 'image/svg+xml'];
    if (cachedMimeType.indexOf(serveStatic.mime.lookup(mimePath)) > -1) {
       res.header('Cache-Control', 'public, max-age=24000'); 
    } else {
      res.header('Cache-Control', 'private, no-cache, no-store, must-revalidate, max-age=0');
      res.header('Pragma', 'no-cache');
      res.header('Expires', '-1');
    }
  } catch (e) {
    console.error('Cache-Control: error', e);
  }

}

Но я по-прежнему не получаю обновленную страницу, если не выполняю жесткое обновление или очистку кеша, поскольку браузер обслуживает эти файлы из кеша.

Мой вопрос: есть ли способ переопределить значение свойства max-age или игнорировать свойство max-age для этих файлов HTML, CSS и JS?

СпасибоRuzdi

...