У меня есть пример кода ниже.
<script type = "text/javascript" src = "assets/scripts/somescript.php">.
</script>
Итак, будет ли мой браузер по-прежнему кэшировать это, просто не установив для этого кеша метатегов заголовков сценариев значение обязательной повторной проверки?






Если вы отправите Content-type: text/javascript; charset = "your_charset", браузер распознает ваш PHP-скрипт как действительный ресурс Javascript и будет обрабатывать его, как любой другой Javascript. Вы можете управлять поведением кэширования браузера, выдавая правильные заголовки в вашем PHP-скрипте с помощью header().
Некоторые браузеры более агрессивны с кешированием по умолчанию, чем другие. Однако есть заголовки элементов управления кешем, которые можно отправить, чтобы указать, когда следует перезагрузить код.
header("Expires: " . date("r", time() + ( 60 * 60 * 24 * 7 * 1 ) ) ); // Expires in 1 week
header("Content-Type: application/x-javascript");
Известно, что я использовал фрагмент кода.
Вы можете использовать более причудливые вещи, такие как заголовки If-Not-Modified и ETags, но время истечения срока действия - единственное, что устраняет лишние вызовы сервера.
Один из приемов - написать тег скрипта с постоянно меняющейся строкой запроса. Ваш основной PHP мог бы написать следующее, которое меняется каждый день:
<script type = "text/javascript" src = "assets/scripts/somescript.php?date=20081118"></script>
Строка запроса будет проигнорирована somescript.php, но браузер будет каждый раз обрабатывать URL как новый и перезагружать скрипт.
спасибо за ETags, с которыми я не был знаком, когда задавал этот вопрос, хе-хе, это помогло