http.FileServer 行为:已编辑文件的缓存失效
Go 中的 http.FileServer 包提供了一种便捷的方式来提供静态文件,但用户遇到了缓存问题,可能导致文件修改后返回过时的内容。
问题描述
一个简化的示例演示了该问题:提供静态 HTML使用 http.FileServer 的页面。当页面被修改并重新加载时,尽管在响应标头中看到了正确的 Content-Length,浏览器仍会收到旧版本。
故障排除
独立变量被排除:
解决方案
经过仔细调查,发现了问题:
问题:使用 Virtual Box 共享文件夹来托管静态文件
原因:虚拟化引入了一个间接层,可能会干扰文件修改检测。
修复:
要解决此问题,建议物理将静态文件复制到服务器的本地文件系统,而不是使用共享文件夹。
通过消除共享文件夹的使用,http.FileServer 可以准确检测文件修改并提供更新的内容。
以上是为什么我的Go http.FileServer修改后提供的文件是过时的?的详细内容。更多信息请关注PHP中文网其他相关文章!