Javascript 有条件地将文件内容从服务器发送到浏览器

Javascript 有条件地将文件内容从服务器发送到浏览器,javascript,php,Javascript,Php,只有当文件更新时,才将文件内容从服务器发送到浏览器的机制是什么 例如,我在服务器上有一个文件abc.bin,该文件将定期更新。每次更新/修改文件时,服务器都必须将内容发送到浏览器。有什么方法可以做到这一点?您可以选择编写一个脚本,轮询最新版本号,并将其与客户端的最新版本号进行比较。如果找到,它会通过隐藏的iframe或类似的方式下载文件 或者使用基于web套接字的解决方案。为类似的事情提供服务 在移动应用程序中,这种设计称为推送通知。->使用术语查找更多信息。如果用户下载了最新版本后访问了下载链

只有当文件更新时,才将文件内容从服务器发送到浏览器的机制是什么


例如,我在服务器上有一个文件
abc.bin
,该文件将定期更新。每次更新/修改文件时,服务器都必须将内容发送到浏览器。有什么方法可以做到这一点?

您可以选择编写一个脚本,轮询最新版本号,并将其与客户端的最新版本号进行比较。如果找到,它会通过隐藏的iframe或类似的方式下载文件

或者使用基于web套接字的解决方案。为类似的事情提供服务


在移动应用程序中,这种设计称为推送通知。->使用术语查找更多信息。

如果用户下载了最新版本后访问了下载链接,您是想将文件推送到浏览器还是想重定向到网站?我想将文件“推”到浏览器,而不是重定向。请查看HTTP缓存头。您将在“上次更改”和“如果自”中被询问。@Marvin Smit我认为HTTP头不会帮助他向浏览器发送推送通知。有关推送通知,请查看Signal。在从服务器收到信号后,您可能仍然需要使用客户端提取该文件。该文件仅存在于服务器上。浏览器/客户端只需要文件的内容。我在JavaScript中了解到服务器使用EventSource发送事件通知,但显然这只能发送文本通知,而不能发送数据。PHP/JavaScript中有没有类似的方法可以发送数据?如果您的数据是某种ASCII(如XML或JSON),Ajax就可以开箱即用。如果您想处理二进制数据,这取决于您有哪些数据,但这可能会对您有所帮助:我认为Ajax是由浏览器/客户端上的事件触发的(如果我错了,请纠正我)。在我的场景中,事件发生在服务器上(文件已更新)。请看一下轮询等术语的含义。您可以将请求文件版本的函数置于所谓的超时循环中。当版本更改时,响应处理程序获取文件。瞧。或者编写一个web套接字,当文件发生更改时通知客户机,从而触发ajax请求。