Web异步与实时交互——iframe AJAX WebSocket开发实战 - (EPUB全文下载)
文件大小:0.15 mb。
文件格式:epub 格式。
书籍内容:
Web异步与实时交互——iframe AJAX WebSocket开发实战
第1章 Web交互开发相关技术概述
第2章 iframe实现模拟异步交互
第3章 iframe应用案例分析
第4章 AJAX实现异步后台传输技术
第5章 AJAX应用案例分析
第6章 WebSocket实现主动推送交互
第7章 WebSocket聊天室
第8章 若干异步传输技术及交互方式的综合测试与分析
欢迎来到异步社区!
看完了
第1章 Web交互开发相关技术概述
Web交互开发中的异步、实时Web交互技术,是当前Web应用技术研究领域的新热点之一。本章首先对传统Web交互技术进行了简单介绍,进一步从Web异步交互技术和Web实时交互方式两个角度,对Web交互开发中的异步、实时等系列技术进行了概要介绍、分析,并给出了本书的思路及内容安排。
1.1 基于HTTP协议的Web交互
HTTP协议(Hyper Text Transport Potocol,超文本传输协议),是基于服务器/客户端模式的无连接、无状态的协议。基于HTTP协议的Web应用中,所有的请求是由客户端发起的,服务器处于被动响应的地位。然而,服务器却相当于是信息的发布者,当有新信息产生时,服务器并不能主动将新信息发送给客户端,必须等待客户端主动发起访问请求建立连接后才能发送给客户端。
当遇到实时监控、即时通信、在线互动等的Web交互开发需求(如设备监控、聊天室、股票行情等需求)时,传统的Web交互技术显得力不从心。最初,客户端只能通过设定自动刷新时间的方式(如使用标签,或通过JavaScript代码进行设定)使浏览器主动刷新,向服务器端发送请求,来获取服务器端的新信息。这种方式有以下几个缺点。
(1)刷新页面的时候,网页会呈现一片空白,影响用户的体验。
(2)在多数情况下页面中需要更新的信息只是很小一部分,其他信息不变。这样,在刷新整个页面时,传送了额外的信息,使得页面刷新速度变慢,并增加了网络的负担。
(3)由于客户端隔一段时间才发送一次请求,并不能实时获得服务器端的新信息,有一定延迟。
其中,问题(1)(2)可以通过1.2节中介绍的Web异步技术来解决;问题(3)可以通过1.3节中介绍的Web实时交互技术来解决。
1.2 Web异步交互技术——iframe、AJAX及WebSocket
随着Web交互技术的发展,出现了使用iframe模拟异步传输,来实现局部刷新页面获取数据的功能,从而解决1.1节中的问题(1)(2)。iframe是一种HTML标记,它会创建包含另外一个文档的内联框架,通过iframe框架可以在当前页面中显示其他页面的信息。这时将iframe的src属性设置为对另外一个页面的连接请求,并在当前页面中通过JavaScript动态更新iframe的内容,就可以将服务器端的数据响应到客户端,而不会出现主页面一片空白,等待刷新的现象。并且,仅刷新iframe框架而不是主页面,也减少了页面刷新的内容,这在一定程度上提高了页面刷新速度。
然而,iframe是通过刷新隐藏框架,获取响应后通过DOM技术对主页内容进行更新——这实际上是模拟的异步交互,并非真正的异步交互。随着Web交互技术的发展,一个真正意义上的异步交互技术应运而生——AJAX。这种技术通过异步通信和响应,来完成页面的局部刷新,以此改善传统Web应用中大量不必要的整页刷新,从而提高响应的效率,让用户更快地得到操作结果,减少中间的等待时间。同时AJAX作为浏览器端技术,极大地改善页面的表现和交互方式,可以让传统的Web应用程序界面具备桌面应用程序般的表现力,从而为用户提供更人性的服务。
但是,iframe、AJAX都是基于HTTP协议进行Web交互。HTTP协议的工作模式对于其构建实时Web应用存在诸多的限制——只能先由客户端提交请求,服务器端响应请求,并非是由服务器向客户端进行主动推送。随着HTML 5标准的推出,这一状况得到了改善,其提出了一种新的浏览器服务器通信协议——WebSocket协议。通过该协议可以在浏览器和服务器之间构建一条全双工的通信连接,可以支持服务器端向客户端主动推送信息,实现实时刷新页面的功能。WebSocket协议不仅解决了1.1节中的问题(1)(2),还解决了1.1节问题(3)中提出的实时性问题。
综上所述,AJAX作为当今非常热门、流行的异步传输技术,已被行业广泛采用。但在AJAX这种真正的异步传输技术出现之前,一般使用iframe模拟实现异步传输,目的是保证网页在不刷新的情况下进行数据传输更新网页内容,从而提高用户的体验。目前,iframe实现模拟异步传输这一技术,仍然经常被程序员使用。而WebSocket技术,作为HTML 5标准中的亮点,真正实现了“服务器推”的概念。其实际上是对AJAX技术的跨越式优化。但由于目前该技术较新(AJAX应用较成熟)、浏览器支持、WebSocket对服务器端性能的影响等方面的因素,尚未被大范围应用。因此,出现了这些异步传输技术在应用市场上被共同使用的情况,有必要对这3种异步技术进行深入的研究和分析。
1.3 Web实时交互方式——轮询、长轮询、长连接及推送
如何实时获取服务器端的最新数据,是Web实时交互关注的内容。在介绍Web实时交互方式前,先来具体了解HTTP的通信机制,为之后概念的精准定义做铺垫。HTTP通信过程可分为4步。
第1步:HTTP是基于传输层的TCP协议,在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器在TCP层建立连接。在TCP层进行“三次握手”之后,建立了TCP连接,此时HTTP就可以进行传输了(注意,由于HTTP为无连接、无状态的协议,在本书之后的章节内容中,若提到打开、保持或关闭连接时,其中的“连接”均指TCP层的连接)。
第2步:建立连接后,客户端发送一个请求给服务器。
第3步:服务器接到请求后,给予相应的响应信息。
第4步:客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » Web异步与实时交互——iframe AJAX WebSocket开发实战 - (EPUB全文下载)