《Ajax完全手册》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)Thomas A. Powell著;闫锋欣,陈泽峰,万能译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121075827
  • 页数:501 页
图书介绍:本书是一本详解如何利用最新的Ajax技术进行Web编程的权威指南,主要围绕作者提出的AjaxTCR库逐步展开。第1~第4章为第一部分,分别讲述了Ajax技术的基本概念、JavaScript通信技术、XMLHttpRequest对象和数据格式;第5~9章为第二部分,在YUI的基础上创建了AjaxTCR库,并在随后的章节中详细讨论了信息传输中的网络因素、安全、用户界面及Ajax站点和应用程序架构等方面的问题。第10章单独构成第三部分,从中可以了解Web Service、SOP、Mash-up和Comet等技术在Ajax中的应用;第四部分分三个附录,分别提供了JavaScript、HTTP和AjaxTCR库的参考。

第一部分 核心思想 2

第1章 Ajax简介 2

1.1 Ajax定义 2

1.2 Hello Ajax World例子 3

1.2.1 本地运行Ajax例子的挑战 8

1.3 Ajax的崛起 10

1.3.1 Ajax的启示 10

1.4 小结 12

第2章 Ajax前的JavaScript通信技术 13

2.1单向通信 13

2.1.1单向Image对象技术 15

2.1.2带查询字符串的单向iframe 18

2.1.3单向〈script〉标记 19

2.1.4其他方法 19

2.1.5带表单发送的单向iframe 20

2.1.6基于cookie的传输 25

2.2双向通信 27

2.2.1用于双向通信的Image 27

2.2.2双向Script标签通信 33

2.2.3不太常用的双向方法 34

2.2.4双向iframe 35

2.3对通信模式的回顾 41

2.4应用程序示例 42

2.4.1客户端JS错误指示器 42

2.4.2站外链接点击的监控 45

2.4.3奇特的评分系统——Ajax之前的版本 47

2.4.4 RSS阅读器 49

2.5小结 49

第3章 XMLHttpRequest对象 51

3.1 XHR概述 51

3.2实例化和跨浏览器的问题 53

3.2.1对ActiveX XHR的担心 53

3.2.2跨浏览器的XHR封装 61

3.3 XHR请求的基本原理 62

3.4同步请求 62

3.5异步请求 65

3.6通过GET发送数据 66

3.7通过POST发送数据 68

3.7.1请求报头 69

3.8其他HTTP请求 72

3.8.1 HEAD请求 72

3.9响应的基本原理 74

3.9.1回访readyState 74

3.9.2 status和statusText 76

3.9.3 responseText 78

3.9.4 responseXML 79

3.9.5响应报头 82

3.10控制请求 83

3.11 XHR身份验证 84

3.12适当和新兴的XHR特性 86

3.12.1管理MIME类型 86

3.12.2多部分响应 88

3.12.3处理中的响应和部分的响应 89

3.12.4其他的Firefox事件处理程序 91

3.12.5 XHR的奥秘和未来的改变 91

3.13 XHR的含义和挑战 92

3.13.1 Ajax和内存泄露 93

3.14小结 96

第4章 数据格式 98

4.1 Ajax和字符集 98

4.2数据格式的确定 101

4.2.1编码/解码请求 101

4.2.2编码/解码响应 101

4.2.3安全性因素 102

4.2.4传输上的因素 102

4.3标准编码:x-www-form-urlencoded 103

4.3.1扩展标准编码 104

4.3.2表单序列化 107

4.3.3对象序列化 109

4.4使用其他输入格式 109

4.4.1 XML 109

4.4.2 JSON 112

4.4.3其他请求形式:YAML、文本及其他 115

4.5文件附件 120

4.6响应格式 123

4.6.1文本响应 124

4.6.2脚本响应 126

4.6.3 XML的响应和处理 128

4.6.4结构良好的XML 130

4.6.5有效的XML 130

4.6.6 XML和DOM 132

4.6.7使用XPath处理响应 135

4.6.8用XSLT转换响应 138

4.6.9数据岛屿:特有性和强大性 141

4.7二进制响应 143

4.7.1编码内容:base64 143

4.7.2体验Data:URL 144

4.7.3文件响应 146

4.8小结 146

第二部分 Ajax应用 148

第5章 开发一个Ajax库 148

5.1绝非另一个Ajax库 148

5.2 AjaxTCR库概述 149

5.2.1添加流行的便捷工具 155

5.2.2数据格式处理 157

5.2.3请求状态 158

5.2.4请求控制 160

5.3 AjaxTCR库实用功能 161

5.4 AjaxTCR库的基本特征总结 163

5.5超越AjaxTCR库 166

5.6 YUI简介 166

5.6.1 YUI的连接管理器 166

5.6.2其他YUI特征 173

5.7 Prototype简介 175

5.7.1 Ajax Prototype类型 175

5.7.2 Prototype的Ajax助手 178

5.7.3深入探索Prototype 180

5.8 jQuery简介 182

5.8.1 jQurey的Ajax方法 182

5.8.2 jQuery的Ajax便捷工具 185

5.8.3 jQuery的优点与缺点 186

5.9 Dojo及其他库 187

5.10小结 188

第6章 网络因素 189

6.1还会出什么问题 189

6.2超时 190

6.3重试 191

6.4处理服务器错误 192

6.5处理内容错误 194

6.6处理多请求 197

6.6.1打破2连接限制 198

6.7请求队列 200

6.8不保险的顺序 204

6.9有产生竞争条件的可能吗 207

6.10确保通信的健壮性 209

6.10.1服务器的可用性 210

6.10.2客户端的可用性 210

6.10.3连接比率 210

6.10.4跟踪网络环境 211

6.11提高Ajax性能 213

6.11.1 HTTP压缩 214

6.11.2内容优化 216

6.12缓存 220

6.12.1关掉浏览器缓存 221

6.12.2使用浏览器缓存工作 222

6.12.3 Ajax响应缓存 222

6.13预缓存 225

6.14取得恰当的平衡 227

6.15总是还有更多的其他技术 227

6.16小结 229

第7章 安全问题 230

7.1 Web攻击面 230

7.2 Web应用程序探查回顾 231

7.2.1 Web应用程序攻击回顾 233

7.3 Ajax安全差别 237

7.4 JavaScript安全 237

7.4.1 JavaScript保护 238

7.5 JavaScript的安全策略 240

7.6同源策略 240

7.6.1同源策略的例外 241

7.7受信任的外部脚本 242

7.8 Ajax和认证 243

7.8.1 Ajax下的HTTP认证 243

7.8.2 Ajax和SSL 248

7.8.3自定义表单-cookie认证 250

7.9跨站点脚本 251

7.9.1分析XSS 253

7.9.2使用XSS劫持XHR 255

7.10历史揭秘:黑客的起源 257

7.11跨站请求伪造 260

7.11.1 JSON上的CSRF攻击,JSONP和脚本响应 261

7.11.2防止CSRF 263

7.12 Ajax负载保护 264

7.13 Web服务和Ajax:安全性的潘多拉魔盒 267

7.14小结 269

第8章 Ajax用户界面设计 270

8.1 Ajax用户界面的含义 270

8.2通信的网络活动 272

8.2.1传统Web模式的活动指示符 272

8.2.2 Ajax应用程序的活动指示符 274

8.2.3细节状态指示符 275

8.3通信的问题和错误 280

8.4通信的变化 284

8.5 to-do列表介绍:删除、确认和过渡 286

8.6即时模式 289

8.6.1单击编辑 290

8.7单击编辑列表 294

8.8拖放 295

8.8.1可拖动的列表 302

8.9真正强大的功能:随需而变的数据 304

8.9.1自动完成和自动建议 304

8.9.2自动搜索 310

8.9.3自动验证 313

8.9.4预览 318

8.9.5渐进加载 320

8.9.6增量加载的风险 322

8.10其他界面风格 322

8.11分门别类 323

8.12辅助功能 326

8.13小结 326

第9章 Ajax站点和应用程序架构 327

9.1添加Ajax 327

9.2页面内Ajax 330

9.3重构评分例子 331

9.3.1构建一个评分窗口部件 332

9.4启用替代传输 336

9.5自动通信回退 341

9.6退化而不是强化 344

9.7利用模板 346

9.8客户端模板 349

9.8.1应用模板 356

9.9封装窗口部件 358

9.10全站点Ajax 363

9.10.1应对后退按钮问题 363

9.10.2拥抱历史记录 368

9.10.3使用历史记录 375

9.10.4 Ajax和书签 380

9.11一个完整的例子:to-do列表 381

9.12架构的耦合或解耦 383

9.12.1松耦合 383

9.12.2紧耦合 384

9.12.3研究紧耦合架构的方法 384

9.13架构的最终分析 385

9.14小结 386

第三部分 高级主题 388

第10章 Web服务和更多的功能 388

10.1 Ajax和Web服务 388

10.1.1代理服务器解决方案 390

10.1.2 URL转发模式 394

10.1.3使用〈script〉标记 395

10.1.4跨域桥接的Flash 399

10.1.5前景:本地XHR的跨域访问 403

10.2 SOAP:彻底完蛋了吗 405

10.3屏幕抓取 406

10.4公共服务示例 409

10.5 mash-up 412

10.6 Comet 414

10.6.1轮询:快速还是持久 417

10.6.2持久的缓慢加载 419

10.6.3二进制套接字桥接 421

10.6.4服务器事件监听器 423

10.6.5 Comet的挑战:Web聊天 424

10.6.6 Comet的影响 425

10.7离线运行 426

10.7.1客户端持久化和存储 426

10.7.2离线的风险 431

10.7.3用Google Gears启用离线 432

10.8 Firefox 3出现离线的可能性 438

10.9小结 441

第四部分 附录 444

附录A JavaScript快速参考 444

附录B HTTP1.1参考 472

附录C AjaxTCR库参考 486