будет ли скрипт в теге скрипта html с расширением php кэшироваться?

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

Некоторые браузеры более агрессивны с кешированием по умолчанию, чем другие. Тем не менее, есть заголовки управления кешем, которые вы можете отправить, чтобы указать, когда перезагружать код.

 header("Expires: " . date("r", time() + ( 60 * 60 * 24 * 7 * 1 ) ) ); // Expires in 1 week header("Content-Type: application/x-javascript"); 

Является фрагментом кода, который, как мне известно, используется.

Вы можете использовать более причудливые вещи, такие как заголовки If-Not-Modified и ETags, но время истечения – единственные, которые устраняют дополнительные серверные вызовы.

Если вы отправляете Content-type: text/javascript; charset="your_charset" Content-type: text/javascript; charset="your_charset" браузер распознает ваш PHP-скрипт как действительный ресурс Javascript и будет обрабатывать его, как и любой другой Javascript. Вы можете контролировать поведение кэширования браузера, выбирая правильные заголовки в вашем скрипте PHP, используя header() .

Один трюк заключается в том, чтобы написать свой тег скрипта с постоянно меняющейся верификацией. Ваш основной PHP мог бы написать следующее, которое меняется каждый день:

 <script type="text/javascript" src="assets/scripts/somescript.php?date=20081118"></script> 

Запросы будут игнорироваться somescript.php, но браузер будет обрабатывать URL как новый каждый раз и перезагружать скрипт.