1.HTTP拉取方式:在这种传统的方法中,客户端以用户可定义的时间间隔去检查服务器上的最新数据。这种拉取方式的频率要足够高才能保证很高的数据精确度,但高频率可能会导致多余的检查,从而导致较高的网络流量。而另一方面,低频率则会导致错过更新的数据。理想地,拉取的时间间隔应该等于服务器状态改变的速度。
2.HTTP流:这种方法由存在于不间断的HTTP连接响应中或某个XMLHttpRequest连接中的服务器数据流所组成。
3.反转AJAX:服务流应用到AJAX,就是所谓的反转AJAX 或者COMET 。它使得服务器在某事件发生时可以发送消息给客户端,而不需要客户端显式的请求。目标在于达到状态变化的实时更新。COMET使用了HTTP/1.1中的持续连接的特性。通过HTTP/1.1,除非另作说明,服务器和浏览器之间的TCP连接会一直保持连接状态,直到其中一方发送了一条明显的“关闭连接”的消息,或者有超时以及网络错误发生。
4.长时间轮询:也就是所谓的异步轮询,这种方式是纯服务器端推送方式和客户端拉取方式的混合。它是基于BAYEUX协议的。这个协议遵循基于主题的发布——订阅机制。在订阅了某个频道后,客户端和服务器间的连接会保持打开状态,并保持一段事先定义好的时间。如果服务器端没有事件发生,而发生了超时,服务器端就会请求客户端进行异步重新连接。如果有事件发生,服务器端会发送数据到客户端,然后客户端重新连接。 在他们的实验性研究中,作者们在一个利用COMET推送方式实现(Dojo的Cometd库)的AJAX应用和一个纯拉取方式的应用之间,对数据一致性、服务器性能、网络性能以及数据遗失进行了比较。
分享到:
相关推荐
【标题】:“Ajax+服务器推送”简单Web聊天 在Web开发中,实时通信是一个重要的需求,比如在线聊天、股票更新等场景。传统的HTTP协议是基于请求-响应模型的,即客户端发起请求,服务器响应,然后连接关闭。但这不...
这个过程被称为“反向Ajax”或“服务器推送”,它能够实现在不依赖用户操作的情况下,服务器主动向客户端发送数据。 DWR的核心组件包括几个部分: 1. **Engine**:这是DWR的核心,负责处理JavaScript到Java的转换和...
本文将详细探讨如何通过JAVA实现多种服务器推送客户端的方式,包括Ajax轮询、长连接、长轮询以及Iframe刷新。 1. **Ajax轮询** Ajax轮询是最基础的实现方式,其原理是客户端定时发送Ajax请求到服务器,服务器接收...
【标题】"基于AJAX(XMLHTTPRequest)的服务器推送框架.zip" 涉及的主要知识点是AJAX(异步JavaScript和XML)技术以及XMLHttpRequest对象在实现服务器推送中的应用。AJAX是一种网页开发技术,它允许网页在不刷新整个...
这里我们将深入探讨“ajax-demo推送演示例子”中的关键知识点,包括Ajax的工作原理、Servlet服务器端推送以及如何将两者结合应用。 一、Ajax工作原理 1. 创建XMLHttpRequest对象:所有现代浏览器(IE7+,Firefox,...
本程序采用comet技术实现,达到信息及时...基本上说可以完成ajax隔多少秒去请求数据的工作。也减轻了服务器一定的压力。大家看了,希望提出宝贵的意见。谢谢……大家下载了,发布后直接浏览SendMessage.htm页面即可。
其思想很简单:将数据直接从服务器推到浏览器,而不必等到浏览器请求数据。听起来简单,但是如果熟悉 Web 应用程序,尤其是 HTTP 协议,那么您就会知道,这绝不简单。实现 Comet 风格的 Web 应用程序,同时保证在...
它的流行与Ajax(异步JavaScript和XML)技术的广泛使用密切相关,Ajax通过局部刷新实现了页面的无刷新交互,而服务器推送则进一步优化了数据传输的即时性。 设计概要: 1. 任务和目标:服务器推送功能的主要任务是...
总之,服务器推送技术是Web技术的重要组成部分,它通过各种手段实现了服务器主动向客户端发送数据的能力,增强了Web应用的交互性和实时性,推动了Web向更接近桌面应用体验的方向发展。随着技术的进步,未来的服务器...
本文将详细介绍如何实现DWR的服务器推送功能。 一、DWR简介 DWR的核心功能是通过AJAX技术创建了一个JavaScript到Java的桥梁,使得开发者可以像操作本地对象一样操作远程服务器上的对象。它支持自动类型转换、错误...
### 服务器推送技术详解 #### 一、引言 服务器推送技术(Server Pushing)作为近年来Web技术领域的一大热点,其核心在于解决Web应用中的一个重要挑战:如何实现实时的、服务器端主动发起的信息推送至客户端。传统的...
DWR的核心特性是它支持AJAX(Asynchronous JavaScript and XML)以及服务器推送技术,极大地提高了Web应用的用户体验。 **服务器推送技术**: 传统的HTTP协议是基于请求-响应模型的,即客户端发起请求,服务器响应...
5. **处理推送消息**: 在JavaScript事件处理器中,接收并处理由服务器推送过来的消息。可以更新DOM元素,显示新消息,或者执行其他客户端操作。 6. **优化性能和资源管理**: 为了防止过多的连接占用服务器资源,...
随着Ajax技术的普及,开发者希望在浏览器环境中实现更接近桌面应用的实时交互,而服务器推送正是解决这一问题的关键。 在传统的Web访问机制中,客户端(浏览器)通过HTTP请求获取服务器数据,服务器被动响应,不...
5. **客户端接收**:在JavaScript中,使用DWR提供的API注册回调函数,接收到服务器推送的数据后进行处理和展示。 Java推技术不仅限于DWR,还有其他框架如Comet、Atmosphere等也提供了类似的功能。但DWR因其易用性和...
在WebSocket出现之前,实现服务器推送的一种常见方式是Ajax轮询。这种方式是客户端定期发送请求到服务器,询问是否有新数据。这种方法效率低,因为即使没有新数据,也会频繁发送请求。相比之下,WebSocket一旦建立...
服务器推送技术是网络应用中的一种重要机制,它允许服务器主动向客户端发送数据,而不仅仅是响应客户端的请求。这种技术在实时性要求高的场景下非常有用,例如股票交易、在线聊天和实时更新的数据流。在本示例中,...
在DWR中,服务器推送是通过一种叫做"Reverse Ajax"或者"Comet"的技术实现的。这种方式可以让服务器在接收到客户端的一个请求后,保持连接开放状态,并在合适的时候通过同一个连接向客户端发送数据,而不是等待客户端...
在实际应用中,服务器推送技术广泛应用于金融市场的实时报价、社交媒体的通知提醒、在线游戏的实时同步以及物联网设备的数据推送等场景。随着技术的进步,服务器推送将更加成熟,为Web应用程序带来更加丰富的实时...
综上所述,这个Web聊天室项目涵盖了从客户端到服务器端的完整实时通信流程,是学习和实践Ajax反向推送技术的一个好例子。通过深入研究和理解这个源码,开发者可以掌握如何在实际项目中应用Server Push,提高Web应用...