是否会缓存扩展名为php的html脚本标签中的脚本?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否会缓存扩展名为php的html脚本标签中的脚本?相关的知识,希望对你有一定的参考价值。

我下面有代码示例。

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

因此,我的浏览器是否仍会通过不将此脚本标头元标记缓存设置为必须重新验证来缓存该缓存?

答案

某些浏览器比其他浏览器更喜欢默认缓存。但是,您可以发送一些缓存控制标头,以指示何时重新加载代码。

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

是我已知使用的代码段。

您可以使用诸如If-Not-Modified头和ETag之类的更高级的东西,但是Expire time是唯一消除多余服务器调用的时间。

另一答案

如果发送Content-type: text/javascript; charset="your_charset",浏览器将把您的PHP脚本识别为有效的Javascript资源,并将像处理其他任何Javascript一样处理它。您可以通过使用header()在PHP脚本中发布正确的标头来控制浏览器的缓存行为。

另一答案

一个技巧是在脚本标签上写上不断变化的查询字符串。您的主要PHP可能会写出以下内容,每天都会更改:

header()

查询字符串将被somescript.php忽略,但是浏览器每次都会将该URL视为一个新的URL,然后重新加载脚本。

以上是关于是否会缓存扩展名为php的html脚本标签中的脚本?的主要内容,如果未能解决你的问题,请参考以下文章

使用脚本扩展 HTML 文件并覆盖/扩展某些部分标签

文件如何执行脚本到我的服务器?

php基础

php语法

PHP 语法

php 练习