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

问题描述 投票:0回答:3

我下面有代码示例。

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

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

php javascript html browser
3个回答
2
投票

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

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是唯一消除多余服务器调用的时间。


0
投票

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


0
投票

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

header()

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

© www.soinside.com 2019 - 2024. All rights reserved.