【问题标题】:Website caching issue网站缓存问题
【发布时间】:2014-08-17 11:52:36
【问题描述】:

问题是,我正在更新网站的代码。但是当我浏览该网站时,它会持续加载旧版本几个小时。然后在 2-3 小时后,更新的网站会加载。

我一直在尝试更新网站,但由于延迟,很难做出更改。

我尝试清除浏览器缓存,尝试使用其他浏览器,还尝试了隐私浏览模式。但似乎没有任何效果

域名是amazist.com

当我请求网站标题时。这就是我得到的:

Connect to 206.190.129.20 on port 80 ... ok

    GET / HTTP/1.1[CRLF]
    Host: amazist.com[CRLF]
    Connection: close[CRLF]
    User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; de-de) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10[CRLF]
    Accept-Encoding: gzip[CRLF]
    Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7[CRLF]
    Cache-Control: no-cache[CRLF]
    Accept-Language: de,en;q=0.7,en-us;q=0.3[CRLF]
    Referer: http://web-sniffer.net/[CRLF]
    [CRLF]

【问题讨论】:

  • 您在浏览器中使用任何(缓存)代理服务器吗?您是否尝试过强制重新加载(CTRL+F5、SHIFT+F5 取决于浏览器)?
  • 是的,我确实尝试了我所知道的一切。
  • 这可能是服务器为 U 缓存文件的情况。我曾经在主机上使用过这个。您应该尝试为此 imo 联系您的主机
  • 您在标签中列出了 php。它可以是:某种 opcache(apc、xcache 等)
  • 那么我建议网站有一个服务器缓存层,在这种情况下你真的做不了太多。最好让系统管理员暂时禁用它,或者在暂存环境中工作。

标签: php html apache http


【解决方案1】:

如cmets中所说,原因可能是Web服务器引入了某种缓存机制。

您可以尝试直接解决问题,但根据我在将新版本部署到生产环境时的经验,最好为各种可能的缓存做好准备,例如 - 由您的客户端浏览器、ISP 等创建的缓存。

我已经尝试了一些解决这个问题的方法,我目前最喜欢的是通过计算文件内容的一些哈希值,让我的构建脚本为每个脚本/CSS 文件附加一个版本号。这样可以确保如果您更改文件的内容,它们的名称也会更改,因此它们不会被缓存在任何地方。

我使用Gulp 作为构建脚本,使用gulp-rev 计算哈希。这也可以用于图像,尽管在我的项目中现有图像不会经常更改,所以我只将它用于 javascript 和 CSS 文件。

我知道这种方法听起来可能有点矫枉过正,但在几个项目中实施后,我可以肯定它是值得的。

如果您还有其他问题,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 2020-04-11
    • 2017-05-07
    • 1970-01-01
    相关资源
    最近更新 更多