第11章 与Web服务器通信

本书一开始先介绍了HTML5中与标记有关内容(如语义元素、Web表单和视频)。但随着学习的深入,我们逐渐接触了网页编程技术,以及HTML5中与JavaScript密切相关的知识。这一章,我们进一步探讨网页编程技术,不仅会涉及JavaScript代码,而且会有服务器端编程代码(即编写在Web服务器上运行的程序),但与服务器端编程语言无关。

讨论服务器端编程有一个问题。一方面,选择什么语言并不重要,只要它能操作纯HTML5页面即可(所有服务器端语言都可以)。另一方面,深入讲解一门你并没打算使用的或者你的Web主机根本不支持的语言,也没有什么必要。况且,全面讲解PHP、ASP.NET、Ruby、Java、Python等服务器编程的好书多得是。

本章讨论的问题需要的服务器端代码并不多,也不难懂。我们的设想是让这些代码刚好够演示每个HTML5功能,能够与网页中的JavaScript代码配合。对于你自己开发的项目,可能得修改并扩展本章的示例,从而满足你自己的需要,或者适应你自己喜爱的语言。

说了半天,到底是什么功能需要用到服务器端编程呢?HTML5为网页与服务器通信提供了两种方式。第一种方式是服务器发送的事件(server-sent event),让Web服务器能够定时给网页发送消息。第二种方式是Web Socket框架,让浏览器与Web服务器能够随心所欲地双向通信。不过,在讨论HTML5的这两项新功能之前,我们要先讲一讲当前广泛使用的服务器通信机制,即XMLHttpRequest对象。

注意 服务器发送的事件与Web Socket可不像看起来那么简单。要学会使用和编写简单的例子(本章的例子都是简单的例子)不难。但要利用它们构建一些专业网站中的功能,那可就是另外一码事儿了。关键在于,要在网站中实现这些功能,必须得有足够丰富的服务器端编程经验。