我已经阅读了 AJAX 和推动技术。AJAX 仍然是一种拉动技术,还需要 Java Pushlets 和 Tomcat Comet 等 Push 技术吗?
换句话说,数据正在从服务器推送到客户端是否正确。那么客户端使用 AJAX 提取该数据以将其放置在 Web 浏览器上?
我已经阅读了 AJAX 和推动技术。AJAX 仍然是一种拉动技术,还需要 Java Pushlets 和 Tomcat Comet 等 Push 技术吗?
换句话说,数据正在从服务器推送到客户端是否正确。那么客户端使用 AJAX 提取该数据以将其放置在 Web 浏览器上?
是的,ajax 从 web 服务器(如 tomcat 或其他服务器)查询数据,但在 ajax 请求和普通请求之间从服务器轮询数据存在差异
这是一张可能会让您清楚的图像:(
来源:javalobby.org)
所以你可以在上图中看到它只在请求之间轮询所需的数据,而不是从服务器查询整个页面。
在 AJAX 中,总是由浏览器发起与服务器的操作/联系,是的。据我所知,页面加载完成后无法推送数据。
从技术上讲,您可以使用 AJAX 长轮询或 XHR 流来实现基于推送的消息传递。这些技术既保持与服务器的连接,又允许基于事件的消息传递。
还值得注意的是,通过适当的服务器软件,您可以支持 WebSockets(HTML5 的一个特性),这是主流浏览器的下一个版本所支持的。<eventsource>
也在那里,尽管它仅受 Opera (booooo) 支持。这两种技术都允许无缝推送消息。