0

我正在使用一种方法在服务器#1上创建一个.js文件,其中包含document.writes来编写html代码,然后在服务器#2上的html代码中包含一个简单的js来加载该html代码(有多个服务器#2 )。这基本上是替换 iframe 方法,其优点是每个服务器 #2 所有者控制自己的 css。

该方法按原样完美运行。我的问题必须处理缓存。每次在服务器 #2 上加载页面时,我都希望重新加载 .js,因为它会在服务器 #1 上频繁更改。我测试的每个浏览器似乎都是这种情况,但是我可以将其作为默认情况,还是取决于浏览器设置?尽管我读过关于缓存的所有内容,但我无法弄清楚是什么触发了这种情况下的负载。

4

2 回答 2

1

您可以使用服务器端的 HTTP 标头控制浏览器缓存。喜欢cache-controlcache-expiration。更多在这里 - http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html

于 2013-04-05T02:06:47.687 回答
1

在这种情况下,缓存是由 js 文件的缓存策略触发的。不是html 文件。

浏览器不会缓存呈现的页面(嗯,它会缓存后退按钮,但这不是我们要讨论的)。浏览器缓存源文件。因此,即使 html 页面被配置为长时间缓存,javascript 注入的内容也只会被缓存,只要它被配置为。

要配置缓存策略,您需要在服务器端设置特定的标头。有时您可以在 CGI 脚本中执行此操作。有时您可以在服务器配置文件中执行此操作。

谷歌“http缓存”并阅读了如何配置页面缓存或不缓存(还有谷歌“json禁用缓存”或“ajax禁用缓存”,因为这个问题在ajax中出现了很多)。

于 2013-04-05T02:18:27.993 回答