HTML5 WebSocket 权威指南

HTML5 WebSocket 权威指南
编辑推荐
WebSocket 领域全面和系统的著作,三位资深 HTML5 技术专家共同撰写系统讲解 WebSocket 的 API、协议、消息传递、安全性和企业部署,并给出通过 WebSocke 计办议通信的真实示例,可操作性强
内容简介
本书是 HTML5 WebSocket 领域的著作之一,它系统、全面地讲解了 HTML5 WebSocket 的各个方面,是 Web 开发人员和架构师学习 WebSocket 的选择。书中讨论了基于 WebSocket 的架构师如何减少不必要的网络开销和延迟层,如何通过 WebSocket 对广泛使用的协议(如 XMPP 和 STOMP)进行分层,如何保护 WebSocket 连接和在企业部署基于 WebSocket 的应用程序。主要内容包括: WebSocket API 和协议、WebSocket 协议通信的例子、WebSocket 的安全性和企业部署、内置即时通信和聊天应用程序的 WebSocket 与 XMPP、通过 WebSocket 的 STOMP 实现发布 / 订阅消息传递协议,以及用远程帧缓冲协议实现 VNC。
作者简介
Vanessa Wang
HTML5 领域的布道者和实践者,热衷于 HTML5 和 WebSocket 的研究,是旧金山 HTML5 用户组的联合组织者,负责组织 HTML5 和相关技术的社区活动。Vanessa 目前是 Kaazing 公司的技术出版经理,15 年来一直坚持撰写技术文章。Kaazing 是一家软件公司,旨在使用新的 WebSocket 标准改进企业和客户通过 Web 通信的方式。写作之余,她喜欢打跆拳道、骑自行车和拉大提琴。
Frank Salim
Google 公司资深软件工程师,拥有 Pomona 学院的计算机科学学位。曾经是 Kaazing 公司最早的工程师之一,协助建立了 WebSocket 网关和客户端策略。2010 年,Frank 与人合著了《Pro HTML5 Programming》(Apress)一书。编程之余,他喜欢阅读、绘画和单排轮滑。
Peter Moskovits
Kaazing 公司实时解决方案负责人。Peter 与架构师和开发人员社区紧密协作,构建和部署最好的 Web 解决方案。在加入 Kaazing 之前,Peter 担任过多种产品的管理工作,并曾经负责 Oracle 的门户产品策略。Peter 经常在会议和业界活动上发表演讲,包括 GoTo、YOW!、JavaOne、Oracle OpenWorld、HTML5DeConf、DevCon5 和各种用户组会议。他还是《Oracle WebCenter 11g Handbook》的合著者。
目录
第 1 章 HTML5 WebSocket 简介 / 1
- 1.1 HTML5 是什么 / 2
- 1.2 HTML5 连接性 / 3
- 1.3 旧的 HTTP 架构概览 / 5
- 1.3.1 HTTP 101(即 HTTP/1.0 和 HTTP/1.1) / 5
- 1.3.2 绕道而行:HTTP 轮询、长轮询和流化 / 7
- 1.4 WebSocket 入门 / 9
- 1.5 为什么需要 WebSocket / 10
- 1.5.1 WebSocket 与性能相关 / 10
- 1.5.2 WebSocket 与简洁性相关 / 10
- 1.5.3 WebSocket 与标准相关 / 10
- 1.5.4 WebSocket 与 HTML5 相关 / 11
- 1.5.5 你需要 WebSocket / 11
- 1.6 WebSocket 和 RFC 6455 / 11
- 1.7 WebSocket 的世界 / 12
- 1.8 WebSocket 的选择 / 12
- 1.8.1 非常活跃的 WebSocket 社区 / 12
- 1.8.2 WebSocket 应用程序 / 13
- 1.9 相关技术 / 13
- 1.9.1 服务器发送事件 / 14
- 1.9.2 SPDY / 14
- 1.9.3 Web 实时通信 / 15
- 1.10 小结 / 15
第 2 章 WebSocket API / 16
- 2.1 WebSocket API 概览 / 17
- 2.2 WebSocket API 入门 / 18
- 2.2.1 WebSocket 构造函数 / 18
- 2.2.2 WebSocket 事件 / 21
- 2.2.3 WebSocket 方法 / 25
- 2.2.4 WebSocket 对象特性 / 27
- 2.3 全部组合起来 / 29
- 2.4 检查 WebSocket 支持 / 32
- 2.5 在 WebSocket 中使用 HTML5 媒体 / 33
- 2.6 小结 / 37
第 3 章 WebSocket 协议 / 38
- 3.1 WebSocket 协议之前 / 39
- 3.1.1 互联网简史 / 40
- 3.1.2 Web 和 HTTP / 40
- 3.2 WebSocket 协议简介 / 42
- 3.2.1 WebSocket:Web 应用程序的互联网能力 / 43
- 3.2.2 检查 WebSocket 流量 / 45
- 3.3 WebSocket 协议 / 46
- 3.3.1 WebSocket 初始握手 / 47
- 3.3.2 计算响应键值 / 48
- 3.3.3 消息格式 / 49
- 3.3.4 WebSocket 关闭握手 / 52
- 3.3.5 对其他协议的支持 / 54
- 3.3.6 扩展 / 55
- 3.4 用 Node.js 编写 JavaScript WebSocket 服务器 / 56
- 3.4.1 构建简单的 WebSocket 服务器 / 57
- 3.4.2 测试简单的 WebSocket 服务器 / 61
- 3.4.3 构建远程 JavaScript 控制台 / 62
- 3.4.4 扩展建议 / 65
- 3.5 小结 / 65
第 4 章 用 XMPP 构建 WebSocket 上的即时消息和聊天 / 66
- 4.1 分层协议 / 67
- 4.2 XMPP:XML 的流化 / 69
- 4.2.1 标准化 / 70
- 4.2.2 选择连接性策略 / 70
- 4.2.3 联盟 / 73
- 4.3 通过 WebSocket 构建聊天和即时消息应用程序 / 73
- 4.3.1 使用能够处理 WebSocket 的 XMPP 服务器 / 73
- 4.3.2 建立测试用户 / 74
- 4.3.3 客户端程序库:Strophe.js / 74
- 4.3.4 连接并开始工作 / 75
- 4.3.5 在线状态 / 77
- 4.3.6 交换聊天消息 / 82
- 4.3.7 ping 和 pong / 85
- 4.3.8 完整的聊天应用程序 / 86
- 4.4 建议的扩展 / 88
- 4.4.1 构建用户界面 / 88
- 4.4.2 使用 XMPP 扩展 / 89
- 4.4.3 连接到 Google Talk / 89
- 4.5 小结 / 89
第 5 章 用 STOMP 通过 WebSocket 传递消息 / 90
- 5.1 发布 / 订阅模式概览 / 92
- 5.2 STOMP 简介 / 94
- 5.3 Web 消息传递入门 / 95
- 5.3.1 安装消息代理 / 96
- 5.3.2 在实践中了解 STOMP 概念 / 99
- 5.4 构建 STOMP/WS 应用程序 / 101
- 5.4.1 游戏流程 / 101
- 5.4.2 创建游戏 / 103
- 5.4.3 监控 Apache ActiveMQ / 111
- 5.5 建议的扩展 / 112
- 5.6 Web 消息传递的未来 / 113
- 5.7 小结 / 114
第 6 章 用远程帧缓冲协议实现 VNC / 115
- 6.1 VNC 概述 / 117
- 6.1.1 远程帧缓冲协议概述 / 119
- 6.1.2 面向二进制和面向文本的协议 / 120
- 6.1.3 选择使用 RFB over WebSocket / 120
- 6.2 构建 WebSocket 上的 VNC 客户端 / 121
- 6.2.1 建立代理服务器 / 122
- 6.2.2 RFB 客户端 / 124
- 6.2.3 使用 HTML5 的