如何防止互联网服务提供商缓存css和js?

如何防止互联网服务提供商缓存css和js?,css,caching,Css,Caching,我得到了“转储”isp,它总是缓存互联网页面及其css至少一天。 虽然服务器中的css/js发生了变化,但呈现的css没有发生变化(我每次都会清除缓存) 如何“告诉”我的isp不要缓存css和js等文件 谢谢 目前:我正在使用代理检查一个未开发的web,以便它不会被缓存。您可以尝试在外部文件的每个请求中添加一些随机字符串,如: <link href="/css/style.css?cachekiller=1337" media="screen" rel="stylesheet" type=

我得到了“转储”isp,它总是缓存互联网页面及其css至少一天。 虽然服务器中的css/js发生了变化,但呈现的css没有发生变化(我每次都会清除缓存)

如何“告诉”我的isp不要缓存css和js等文件

谢谢


目前:我正在使用代理检查一个未开发的web,以便它不会被缓存。

您可以尝试在外部文件的每个请求中添加一些随机字符串,如:

<link href="/css/style.css?cachekiller=1337" media="screen" rel="stylesheet" type="text/css" />

其中,应为每个请求随机生成上述代码中的1337,例如

<?php time() ?> 


或者,您可以将这些文档直接包含在HTML文件中,位于
标记之间。这显然会使你所有的HTML文件变大,但这基本上就是你所要求的


这是您可以100%确保CSS和JS根本不被缓存的唯一方法。

堆栈溢出本身解决此问题的方法是向CSS和JS URL添加一个版本参数,该参数引用引用的文件的版本:

 <link rel="stylesheet" href="http://sstatic.net/so/all.css?v=4542">


每次引用文件更改时,链接标记的href属性都会在HTML代码中更新,从而支持缓存和更新引用文件。

如何以编程方式检索所需的引用文件版本?Subversion关键字仅指您当前所在的文件。您可以使用服务文件的“上次修改”时间戳,而不使用版本号。因此,文件会被缓存,但一旦修改文件,客户端将不会使用旧的缓存副本。这不是isp缓存,而是浏览器缓存,您只需为自己按住ctrl+f5键并/或在文件地址前为所有人添加“?v=xxx”