前言
本书思路及意义
异步交互、实时交互作为Web交互技术中的热点和难点,越来越多地被研究和使用。
在Web异步交互方面,AJAX作为当今非常热门和流行的异步传输技术,已被行业广泛采用。但在AJAX这种真正的异步传输技术出现之前,一般使用iframe模拟实现异步传输,目的是保证网页在不刷新的情况下进行数据传输更新网页内容,从而提高用户的体验。目前,iframe实现模拟异步传输这一技术,仍然经常被程序员使用。
而WebSocket技术,作为HTML 5标准中的亮点,真正实现了“服务器推”的概念,实际上是对AJAX技术的跨越式优化。但由于目前该技术较新(AJAX应用较成熟),且受浏览器支持、WebSocket对服务器端性能等方面因素的影响,尚未被大范围应用,因此,出现了这些异步传输技术在Web应用市场上被共同使用的情况,我们认为有必要对这3种异步技术进行深入地研究和分析。
另外,在Web实时交互方面,经常会使用轮询、长轮询、长连接及推送这4种Web交互方式。iframe、AJAX和WebSocket作为三项Web异步交互技术,可使用这4种Web交互方式,异步、实时地实现信息的传输。
其中,轮询是不断使用基于HTTP协议的Web交互方式对服务器端数据进行获取,但在满足实时更新服务器端信息的同时有一定的延迟;长轮询、长连接及推送都可以满足实时更新服务器端信息,属于实时Web交互技术的范畴。
虽然这4种Web交互方式应用广泛,但目前尚没有相关书籍、资料对其进行清晰地定义、深入地分析和测试,以至于由于不了解这些不同技术方案的性能区别,不能在方案制订初期,就对方案路线选择给出明确、正确的设计。
综上所述,很有必要对iframe、AJAX和WebSocket相关异步交互技术及配合使用的轮询、长轮询、长连接及推送4种实时交互方式进行介绍和深入分析。
适用读者
以下两类读者可能会对本书感兴趣。
软件工程人员在熟悉使用一种技术后,如果想进阶,成长为高级程序员不仅要实现技术,还要会根据系统需求,选择、设计相适应的技术方案,这就要求深入了解几种技术的特性、使用方法、服务器的响应方式及不同方案的相关性能区别。想深入了解一下相关的技术知识,肯定需要去网上大量查找资料,而网上的论坛的资料多是以评论为主,复制粘贴他人帖子的,是不全面的、不准确的,想迅速掌握这些技术有非常大的难度。因此,具备一定Web交互软件开发经验的、想进阶的程序员想进阶,本书可能是你需要的。
本书落脚点在于对Web异步、实时交互进行技术知识讲解、技术应用上手,公司新入职的程序员、具备一定软件专业知识的大学生等初学者,都可以使用这本书来达到学习、理解和进阶的目的。从内容上来看,这本书包括相关基础关键技术的介绍,由最简核心代码形成的实例程序(介绍其工作原理和使用方法),分别使用3种技术实现的3个实用案例。在此基础上,本书深入地对3种技术性能及其服务器响应4种方式进行实验测试、分析等方面的内容。初学者首先能够看懂,并可以从基础到深入,达到迅速学习、理解并上手使用异步传输系列相关技术的目的。
因此,本书在设计内容上,既照顾了初学者快速学习、全面了解、上手使用的需求,兼顾了有经验的软件工程人员迅速进阶、深入理解的需求。
编者