比较SSE、WebSocket或者数据拉取方案的区别,以便你在解决手头的问题时自如选择
开发一个包含后端和前端解决方案的实际SSE应用
解决错误处理、系统恢复和其他问题,使应用达到产品水准
分析不支持SSE的浏览器的两种向后兼容解决方案
处理安全问题,包括认证授权和不允许的域
开发在测试驱动SSE设计中有用的实际、可重用的数据
学习示例应用中不包含的SSE协议元素
前言IX
第1章 SSE 及其他1
1.1 HTML52
1.2 数据推送2
1.3 数据推送的其他名称5
1.4 可能会用到SSE 的应用5
1.5 和WebSocket 的对比6
1.6 什么时候数据推送是错误的选择8
1.7 决策、决策还是决策10
1.8 带我看代码吧11
第2章 玩转SSE13
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 重构PHP44
4.3 重构JavaScript45
4.4 历史数据存储47
4.5 永久存储50
4.6 现在我们是历史学家53
第5章 走出象牙塔,打造产品级品质55
5.1 错误处理55
5.2 错误的JSON56
5.3 长连接56
5.3.1 服务器端57
5.3.2 客户端58
5.3.3 SSE 重试60
5.4 添加定期的关闭/ 重连63
5.5 发送Last-Event-ID66
5.6 多路数据ID69
5.7 使用Last-Event-ID70
5.8 在重连时发送ID72
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 XHR98
7.3 iframe100
7.4 将XHR/iframe 移植到外汇交易应用102
7.4.1 后端的XHR102
7.4.2 前端的XHR103
7.4.3 前端的iframe103
7.4.4 接通XHR104
7.4.5 接通iframe105
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 Cookie123
9.2 认证授权(使用Apache 服务器)125
9.3 带有SSE 的HTTP POST127
9.4 多重鉴权选择129
9.5 SSL 和CORS(连接到其他服务器)130
9.6 Allow-Origin132
9.7 完善访问控制134
9.8 HEAD 和OPTIONS135
9.9 Chrome 和Safari 以及CORS137
9.10 构造函数与证书138
9.11 withCredentials138
9.12 CORS 和向后兼容方案140
9.12.1 CORS 和IE9 及其更早版本141
9.12.2 IE8/IE9:总是使用长轮询142
9.12.3 动态处理IE9 及其更早版本143
9.13 汇总146
9.14 未来会有更多一样151
附录A SSE 标准153
A.1 W3C 候选推荐标准2012.12.11153
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 PHP181
C.1 PHP 中的类181
C.2 随机函数182
C.3 超全局变量182
C.4 数据处理182
C.5 密码183
C.6 休眠184
《市场的逻辑(第三版)》内容简介:为什么人类过去200年的进步比过去几千年大得多?中国40年经济成就举世瞩目,关键原因是什么?什
《古笺风雅:醉花阴》内容简介:笺纸多用于古代书信,是文人雅士通信的信纸。随着雕版印刷技术的提高,笺纸上描绘的山水、花鸟、奇
CG进阶-SAI+Photoshop+ComicStudio动漫线稿绘制技法-全彩印刷-含CD 本书特色 《cg进阶:sai+photoshop+comicst...
《人口老龄化背景下城乡居民基本医疗保险财务可持续性研究》内容简介:本书是国家社会科学基金后期资助项目(18FGL008)系列研究成
Aftercompletingthisself-containedcourseonserver-basedInternetapplicationssoftwar...
《亚洲高等教育展望2018(英文)》内容简介:亚洲大学联盟(Asian Universities Alliance)是基于亚洲高等教育发展趋势,由清华大学
《物联网的机遇与利用》内容简介:物联网,也被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。物联网是云、管、端一体化
《基于ARM Cortex-M4F内核的MSP432 MCU开发实践》内容简介:本书以基于ARM Cortex-M4F内核的MSP432 P401r微控制器为例...
《OpenCV 4计算机视觉:Python语言实现(原书第3版)》内容简介:本书首先介绍OpenCV 4以及如何基于Python 3在各种平台上安装OpenC
《大数据时代的IT架构设计》以大数据时代为背景,邀请著名企业中的一线架构师,结合工作中的实际案例展开与架构相关的讨论。《大
《世界大学排名与中国高水平大学建设》内容简介:世界大学排名主要通过加工处理各大学间的可比信息,以简单直观的结果反映各高校办
《高校辅导员工作案例精选》内容简介:本书是大学生思想政治工作案例集合,涉及学生思想政治教育、党团和班级建设、学业指导、日常
正所谓“上帝欲其灭亡,必先令其疯狂”,在当下中国,“互联网+资本催化”的新经济引擎高速运转,大有碾压一切、颠覆一切之势。在
作为jQueryMobile的入门级读物,BradBroulik所著的《jQueryMobile快速入门》以示例方式讲解了jQueryMobile的基本知识和核...
《零起点Python大数据与量化交易》内容简介:本书是国内较早关于Python大数据与量化交易的原创图书,配合zwPython开发平台和zwQuan
《Nginx高性能Web服务器详解》全面介绍了当前Internet上流行的一款开放源代码的Web服务器——Nginx。全书一共分为四大部分,分别
《Java就业培训教程》全书共分11章。第1章详细地讲解了Java开发环境的搭建、反编译工具的使用、JDK文档资料的查阅以及Java程序的
《理智与情感》内容简介:人文社本版“奥斯丁文集”首次亮相 简·奥斯丁处女作,与《傲慢与偏见》堪称姐妹篇 简·奥斯丁在十九岁时
本书由资深Python专家亲自执笔,Python语言的核心开发人员作序推荐,权威性毋庸置疑。对于程序员而言,标准库与语言本身同样重要
《华为奋斗密码》内容简介:从价值、要素、体系三个方面,深度解析华为人力资源管理的核心法则。本书上篇“价值管理”,围绕价值创