我正在进行的一个项目遇到了一些问题。在开发过程中,我的本地机器运行顺畅,在公司获得的测试服务器上运行完美无缺。
问题是,当我将网站上传到我们的实时服务器时,结果与测试服务器完全不同。主要问题在于 .js (javascript) 文件。我有一些想法,我认为服务器以某种方式保留了缓存,这可能吗?
我的问题在于,更改后的 javascript 文件没有应用更改。因此,如果有一种方法可以在服务器级别清除缓存,那就太好了。
答案1
是的,IIS 确实支持输出缓存,但您更有可能受到客户端浏览缓存的影响。实时网站和开发网站之间的不同行为很可能是由于服务器配置不同造成的。
首先,您应该使用 Fiddler 之类的工具或 Firebug 中的“net”监控选项卡来确保浏览器正在从服务器请求文件。很可能不是。在这种情况下,服务器发送的标头允许浏览器缓存 javascript 文件。然后,您应该进入 IIS 管理器并转到“HTTP 响应标头”图标,然后单击右侧的“设置通用标头”链接。检查是否设置了任何过期规则。
如果浏览器确实发出请求但 IIS 返回文件的旧版本,请转到“输出缓存”图标并在那里验证用户模式或内核模式缓存规则。