在更新信息显示之前,需要对平面文件进行两次刷新



我正在使用JavaScript和PHP编写一个社交媒体引擎,而平面文件是我的主要信息传输工具。当我的程序添加到一整天的文本文件中时,在Ajax程序要求时不会出现它们,直到直接通过URL访问并两次刷新它们为止。有没有办法防止这种情况发生?请不要建议使用数据库。

最有可能的原因是您需要通过URL直接访问Flat Files并两次刷新Flat Files,这是您的浏览器正在缓存它们。刷新使用最新版本更新浏览器的缓存。

当Web服务器服务静态内容时,它告诉Web浏览器将内容缓存一段时间,因为静态内容不太可能在一段时间内更改。

当Web服务器提供动态内容时,几乎总是意味着内容将非常快地更改,并且缓存它可能是个坏主意。

现在,为什么您不应该直接使用AJAX访问平面文件的原因不是因为缓存问题(尽管它确实解决了问题),而是因为 Security 。如果您的文件中有一些秘密信息,会发生什么?当然,您可以告诉浏览器不要获取该部分,但是用户仍然可以(通过URL)对文件进行完整访问。

与您不让浏览器访问数据库的方式相同,您不允许浏览器直接访问您的平面文件。这也意味着它们应存储在文档根部之外,或通过其他方式保护公众访问。

最新更新