新書推薦:
《
武人琴音(十周年纪念版 逝去的武林系列收官之作 形意拳一门三代:尚云祥、韩伯言、韩瑜的人生故事 凸显百年武人命运)
》
售價:HK$
43.7
《
剑桥斯堪的纳维亚戏剧史(剑桥世界戏剧史译丛)
》
售價:HK$
154.6
《
禅心与箭术:过松弛而有力的生活(乔布斯精神导师、世界禅者——铃木大拙荐)
》
售價:HK$
66.1
《
先进电磁屏蔽材料——基础、性能与应用
》
售價:HK$
221.8
《
可转债投资实战
》
售價:HK$
99.7
《
王氏之死(新版,史景迁成名作)
》
售價:HK$
54.9
《
敢为天下先:三年建成港科大
》
售價:HK$
77.3
《
长高食谱 让孩子长高个的饮食方案 0-15周岁儿童调理脾胃食谱书籍宝宝辅食书 让孩子爱吃饭 6-9-12岁儿童营养健康食谱书大全 助力孩子身体棒胃口好长得高
》
售價:HK$
47.0
編輯推薦:
如今,数据推送技术在网站和Web应用中得到了广泛应用,比如在拍卖网络应用中推送最新出价,在售书网站推送新评论,在在线游戏中推送新高分,推送用户感兴趣的最新微博,等等。
本书是一本简明的数据推送技术指南,作者通过构建一个真实的例子,手把手地向读者展示如何利用HTML5 SSE(Server-Sent Events,服务端推送事件)这项非凡的技术,无需轮询或者用户交互,就可以将最新数据从服务器端推送到客户端。
此外,本书还比较了数据推送和WebSocket的区别,阐释了如何使用不同的向后兼容解决方案,将应用的桌面和移动浏览器支持率从60%增加到99%。只要熟悉HTML、HTTP和基本的JavaScript,就可以开始你的学习之旅。
本书主要内容:
比较SSE、WebSocket或者数据拉取方案的区别,以便你在解决手头的问题时自如选择
开发一个包含后端和前端解决方案的实际SSE应用
解决错误处理、系统恢复和其他问题,使应用达到产品水准
分析不支持SSE的浏览器的两种向后兼容解决方案
处理安全问题,包括认证授权和不允许的域
开发在测试驱动SSE设计中有用的实际、可重用的数据
內容簡介:
《HTML5数据推送应用开发》详细介绍了SSEServer-Sent Event,服务端推送事件。SSE是一种允许服务端向客户端推送新数据的HTML5技术。利用这种技术,网页可以迅速加载,并且能及时获得用户感兴趣的最新数据。相比数据拉取,SSE是更优的解决方案,能最大限度地降低延迟。《HTML5数据推送应用开发》通过丰富的示例详细叙述了SSE的优势、它在的日常生活中的应用、目前的浏览器支持情况以及兼容解决方案等内容。
只要你略微了解一点HTML、HTTP和JavaScript,就可以顺利阅读《HTML5数据推送应用开发》。
關於作者:
Darren Cook
精通多种计算机语言,包括JavaScript、PHP以及C++,拥有20多年软件开发及项目管理经验,涉及金融交易系统、数据可视化工具、世界级公司的网站乃至电子游戏。他开发过类似Twitter的HTTP流数据网络服务系统,还为许多应用写过底层的套接字服务器端客户端协议,构建过使用SSE和WebSockets的应用。
目錄 :
目 录
前言 IX
第1章 SSE及其他 1
1.1 HTML5 2
1.2 数据推送 2
1.3 数据推送的其他名称 5
1.4 可能会用到SSE的应用 5
1.5 和WebSocket的对比 6
1.6 什么时候数据推送是错误的选择 8
1.7 决策、决策还是决策 10
1.8 带我看代码吧 11
第2章 玩转SSE 13
2.1 最简单的示例:前端 13
2.2 使用jQuery吗 16
2.3 最简示例:后端 17
2.4 基于Node.js的后端 19
2.4.1 基于Node.js的最简Web服务器 19
2.4.2 用Node.js做推送 20
2.4.3 在浏览器中运行 22
2.5 华丽退场 25
第3章 迷人的真实数据推送应用 27
3.1 问题领域 27
3.2 后端 28
3.3 前端 32
3.4 可复现的真实随机数据 33
3.5 精磨时间戳 36
3.6 控制好随机性 39
3.7 为时间的真正流逝留出余地 41
3.8 本章内容盘点 42
第4章 别安于现状 43
4.1 数据的更多构成 43
4.2 重构PHP 44
4.3 重构JavaScript 45
4.4 历史数据存储 47
4.5 永久存储 50
4.6 现在我们是历史学家 53
第5章 走出象牙塔,打造产品级品质 55
5.1 错误处理 55
5.2 错误的JSON 56
5.3 长连接 56
5.3.1 服务器端 57
5.3.2 客户端 58
5.3.3 SSE重试 60
5.4 添加定期的关闭重连 63
5.5 发送Last-Event-ID 66
5.6 多路数据ID 69
5.7 使用Last-Event-ID 70
5.8 在重连时发送ID 72
5.9 不要全局化,考虑本地化 74
5.10 阻止缓存 75
5.11 阻止死亡 75
5.12 精简的简单办法 76
5.13 本章回顾 76
第6章 向后兼容:其他数据推送策略 77
6.1 浏览器战争 77
6.2 什么是轮询 78
6.3 怎样做长轮询 79
6.4 给我看些代码 80
6.5 优化长轮询 83
6.6 如果JavaScript被禁用怎么办 84
6.7 将长轮询移植到我们的外汇交易应用 85
6.7.1 连接 85
6.7.2 长轮询和长连接 87
6.7.3 长轮询和连接错误 88
6.7.4 服务器端 89
6.7.5 处理数据 91
6.7.6 接起来 92
6.7.7 IE8及更早版本 92
6.7.8 IE7及其更早版本 93
6.8 蜿蜒曲折的轮询 94
第7章 向后兼容:另辟蹊径 95
7.1 共性 96
7.2 XHR 98
7.3 iframe 100
7.4 将XHRiframe移植到外汇交易应用 102
7.4.1 后端的XHR 102
7.4.2 前端的XHR 103
7.4.3 前端的iframe 103
7.4.4 接通XHR 104
7.4.5 接通iframe 105
7.5 感谢内存 107
7.6 把襁褓中的外汇交易应用放到床上 108
第8章 关于SSE的其他标准 111
8.1 请求头 111
8.2 事件 114
8.3 多行数据 118
8.4 消息中的空白 120
8.5 又见请求头 120
8.6 这就是全部内容吗 121
第9章 认证授权:谁在敲门 123
9.1 Cookie 123
9.2 认证授权使用Apache服务器 125
9.3 带有SSE的HTTP POST 127
9.4 多重鉴权选择 129
9.5 SSL和CORS连接到其他服务器 130
9.6 Allow-Origin 132
9.7 完善访问控制 134
9.8 HEAD和OPTIONS 135
9.9 Chrome和Safari以及CORS 137
9.10 构造函数与证书 138
9.11 withCredentials 138
9.12 CORS和向后兼容方案 140
9.12.1 CORS和IE9及其更早版本 141
9.12.2 IE8IE9:总是使用长轮询 142
9.12.3 动态处理IE9及其更早版本 143
9.13 汇总 146
9.14 未来会有更多一样 151
附录A SSE标准 153
A.1 W3C候选推荐标准2012.12.11 153
A.1.1 摘要 154
A.1.2 本文档的状态 154
A.1.3 目录 155
A.1.4 引言 156
A.1.5 一致性要求 157
A.1.6 术语 158
A.1.7 EventSource接口 158
A.1.8 处理模型 160
A.1.9 解析事件流 162
A.1.10 解释事件流 162
A.1.11 注意事项 165
A.1.12 无连接推送和其他特性 166
A.1.13 垃圾回收 166
A.1.14 IANA须知 167
A.1.15 参考文献 169
A.1.16 致谢 170
附录B 重构:JavaScript全局变量、对象和闭包 171
B.1 示例 171
B.2 问题是…… 174
B.3 JavaScript对象和构造函数 175
B.4 用对象的代码 176
B.5 JavaScript闭包 177
附录C PHP 181
C.1 PHP中的类 181
C.2 随机函数 182
C.3 超全局变量 182
C.4 数据处理 182
C.5 密码 183
C.6 休眠 184