比较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
作者简介:AriLerner是一位全栈工程师,拥有多年AngularJS经验,自办并运营AngularJS电子报ng-newsletter.com,在著名硅谷工...
《改革开放后上海社会组织创新发展研究》内容简介:《改革开放后上海社会组织创新发展研究/上海市纪念改革开放40年研究丛书》是上海
本书共分为4篇9章,从监测、工具,分析、优化,标准等若干维度解读如何做好大规模应用的性能管理。书中分别详细介绍了应用性能的
《通信简史:从信鸽到6G+》内容简介:通信行业是当今社会的热门行业,本质上,通信其实是人类活动的极其重要的辅助手段。随着近代各
Aboldandvitalbookthatasksandanswersthemosturgentquestionoftoday:WhatWouldGoogleD...
C++编程风格 内容简介 本书描述C语言中较深层次的程序设计思想和使用方法,包含大量软件工程概念和设计模式,重点介绍大规模编程相关的内容。C++编程风格 目录 ...
《零基础学平面广告设计》内容简介:本书介绍平面广告设计以及应用案例,内容包括平面广告设计原理,平面广告设计基础,平面广告设
《Web网页设计创意课》将呈现创建精彩绝伦的Web应用所需要的一切。这本《Web网页设计创意课》里的所有素材都来源于创作者的网站,
《谎报:一件发生在美国的真实性侵案》内容简介:★NETFLIX《难以置信》原作,获普利策新闻奖 ★一起戏剧性的强奸案“谎报”,引出
《当你自信独立,才能无所畏惧》内容简介:你有没有在某一刻认真的问过自己:到底想成为一个什么样的姑娘?自己内心真正想要的是什
《程序员必读的职业规划书》内容简介:程序员是一种逻辑动物,只有当他们理解求职到底是一种什么行为以后,才能做出有意义的行动。
《整理的艺术》内容简介:你知道吗?一机双屏是整理,网购是整理,换浏览器也是整理!紧张的工作、铺天盖地的信息、可怕的惰性容易
差不多十年前,我(Martin)曾经和KentBeck一起做过一个项目。这个项目的名字叫C3,它后来成为极限编程诞生的标志性项目,并帮助
本书是《响应式Web设计:HTML5和CSS3实战》作者BenFrain的又一力作。作者通过丰富、完整的案例,循序渐进地展示了Sass和Compass的
作者在充分消化历史、文化、风俗、地理、经济、军事、外交、科技等有关史实的前提下,从日本以情报立国这一国策入手,用汪洋自肆
DonBox是微软公司的架构师,主要研究方向为下一代Web服务协议和程序设计模型。Don是软件集成技术方面的权威。在上世纪90年代,他
《撑下去便是一切》内容简介:这是一本讲述如何通向成功的励志实用功能性图书,描述了一个年轻人的艰辛历程。主人公的思考、总结和
《破茧成蝶》内容简介:市面上已经有很多专业的用户体验书籍,但解决用户体验设计师在职场中遇到的众多现实问题的图书并不多见。本
人工智能知识讲座 本书特色 本书从人工智能的概念、发展历史、主要技术理论及应用等方面,全面讲解了人工智能的相关知识。全书分八章,分别介绍了人工智能的概念及相关术...
计算机网络教程 本书特色 《普通高等教育“十一五”国家级规划教材:计算机网络教程》特色:本书是在作者编写的曾获2002年全国优秀教材一等奖的《数据通信与计算机网...