WEB 2.0高级编程

分类: 图书,计算机/网络,图形图像 多媒体,网页设计,
作者: (美)威利斯等著,赵子鹏译
出 版 社: 人民邮电出版社
出版时间: 2008-1-1字数: 749000版次: 1页数: 465印刷时间: 2008/01/01开本: 大16开印次: 1纸张: 胶版纸I S B N : 9787115168917包装: 平装编辑推荐
Web 2.0架构在灵活的Web设计、创造性复用和方便更新方面提供了无限的可能性。除介绍Web 2.0涉及的重要技巧和语言外,这本独特的图书还从专业角度阐述了Web 2.0涉及的各种技术。每章都提供了多个示例应用程序,它们是使用流行的框架创建的。
本书首先介绍了用于创建Web 2.0应用程序的技术。这包括深入探讨XHTML、级联样式表(CSS)、JavaScript和Ajax;然后,引导读者更深入地认识用于在Web客户端和服务器之间交换信息的协议和格式;最后
介绍了实现新想法和开发健壮的应用程序所需的服务器端编程知识。
通过阅读本书。读者将学到:
如何开发Web 2.0应用程序;
结合使用主流客户端技术的新方式;
有关HTTP与URI、XML、联合、微格式和Web服务的知识;
实现和维护LJRI空间的技巧;
如何通过HTTP提供XML文档;
创建mashup以聚合多个数据源中信息的步骤;
改善应用程序安全性的方法。
本书针对的读者:
本书是为对HTML、CSS、JavaScript和XML有基本认识的专业开发人员编写的。
作者简介:
Eric van der Vlist是一位独立咨询员兼培训师,擅长Web开发和XML技术。他是XMLfr.org的创始人和主要编辑,XMLfr.org是法国一个专门介绍XML技术的重要网站;他还是O'Reilly出版社出版的图书《XML Schema》和《RELAX NG》的作者;还是ISO DSDL(http://dsdl.org)工作组的成员,该工作组致力于研究XML模式语言。他现居住在巴黎,可通过电子邮件(vdv@dyomedea.com)同他联系,也可能在众多会议上见到他。
内容简介
Web 2.0旨在让Web重归发明它的初衷,即让用户创建内容。从技术角度说,Web 2.0就是以全新的方式使用大量已有的技术,这意味着专业开发人员必须了解众多Web 2.0技术,如HTML、CSS、HTTP、JavaScript、XML、服务器端编程等。市面上的大部分图书都过于专业化,对于Web 2.0应用使用的每项技术,都可找到大量介绍它们的优秀图书,但从专业角度阐述如何综合使用这些技术的图书凤毛麟角。本书旨在填补这一空白,让读者对Web 2.0技术及其如何协同工作有初步认识,从而真正理解Web 2.0应用的工作原理以及如何开发它们。
本书首先通过一个Web 2.0应用演示了服务器和浏览器之间的交互过程,让读者对本书中介绍的技术在Web 2.0应用中扮演的角色有更深入的认识;然后介绍了客户端技术,包括(X)HTML与CSS、JavaScript与Ajax、客户端设计准则、有望成为主流的客户端技术以及胖客户端替代品;接下来讨论了用于在客户端和服务器之间通信的协议和格式,包括HTTP与URI、XML及其替代品、联合、微格式和Web服务;最后,讨论了服务器端编程技术,包括通过HTTP提供XML、如何使用非XML数据源、如何创建联合频道、创建mashup、如何实现和维护URI空间、提供多媒体内容以及安全。
本书适合参与开发Web 2.0项目的专业开发人员阅读,也可供对Web 2.0开发感兴趣的人员参考。
目录
第1章Web 2.0简介
1.1BuzzWatch简介
1.2概况
1.3探究后台实现
1.4让BuzzWatch成为更好的Web公民
1.5让BuzzWatch更易于维护
1.6完成最后一步
1.7总结
第2章页面表示
2.1创建简洁的页面
2.1.1生成有效的HTML
2.1.2使用级联样式表
2.1.3选择合适的元素
2.2从HTML到XHTML
2.2.1XHTML 1.0
2.2.2XHTML 1.1
2.2.3为何使用XHTML
2.2.4与HTML的差别
2.3文档对象模型
2.3.1DOM级别
2.3.2DOM API概述
2.3.3DOM API参考
2.4级联样式表
2.4.1圆角
2.4.2选项卡
2.5工具
2.5.1Firfox的DOM查看器
2.5.2Firefox的Web开发工具栏
2.5.3Internet Explorer开发工具栏
2.5.4用于Firefox的DevBoi
2.6总结
第3章JavaScript和Ajax
3.1JavaScript:了解鲜为人知但至关重要的特性
3.1.1undefined的值和类型
3.1.2===运算符号
3.1.3使用for-in进行迭代
3.1.4函数式编程
3.1.5函数参数
3.2JavaScript优化
3.2.1缩短JavaScript的下载时间
3.2.2最大限度地减少DOM更新
3.3Ajax
3.3.1一切为了用户体验
3.3.2XMLHttpRequest的历史
3.3.3XMLHttpRequest示例
3.3.4Yahoo! UI Library
3.3.5Google Web Toolkit
3.3.6处理内存泄露
3.4总结
第4章设计准则
4.1常见的设计问题
4.1.1书签
4.1.2导航
4.1.3最大限度地减少传输量
4.1.4支持低级设备
4.1.5易用性需求及指导原则
4.2总结
第5章Web 2.0的发展趋势
5.1XSLT和XPath
5.1.1XSLT Hello world示例
5.1.2更多XSLT示例
5.1.3XSLT样式
5.1.4更多XSLT示例
5.1.5在浏览器中使用XSLT
5.2SVG
5.2.1SVG Hello world示例
5.2.2在SVG中指定样式
5.2.3更多有关SVG的知识
5.3XForms
5.3.1XForms Hello World示例
5.3.2给XForms指定样式
5.3.3更多XForms示例
5.4HTML的发展趋势
5.4.1W3C的提案
5.4.2WHATWG的提案
5.4.3比较XHTML 2.0和HTML 5
5.5总结
第6章胖客户端
6.1从浏览器到胖客户端
6.1.1浏览器的缺点
6.1.2一种解决方案——胖客户端
6.1.3当前的胖客户端
6.2比较胖客户端框架
6.2.1OpenLaszlo
6.2.2XUL
6.2.3XAML
6.3总结
第7章HTTP和URI
7.1Web是如何获得成功的
7.2Web 1.0:HTML、URL和HTTP
7.2.1表象之下
7.2.2URL和URI
7.2.3隐藏代码的危险
7.2.4Web服务器究竟做什么
7.2.5Web是双向的
7.3Web模型和REST
7.3.1资源
7.3.2表示
7.3.3状态
7.3.4使用HTTP方法进行传输
7.4创建HTTP服务时需要考虑的因素
7.4.1媒体类型
7.4.2感兴趣的资源
7.4.3所需的表示
7.4.4服务器响应
7.5电缆上发生的情况
7.5.1参考工具包
7.5.2HTTP示例
7.6其他表示
7.6.1内容协商
7.6.2使用HTTPTracer查看消息
7.7总结
第8章XML及其替换品
8.1XML
8.1.1XML基础知识
8.1.2XML命名空间
8.1.3Unicode和字符编码
8.1.4处理二进制数据
8.1.5通常不需要的特性
8.1.6数据类型
8.1.7模式语言
8.1.8XSLT和XPath
8.1.9其他XML技术
8.1.10现有的数据格式和协议
8.1.11API
8.2XML的替换品
8.2.1JSON
8.2.2JavaScript
8.2.3HTML
8.2.4其他格式
8.3总结
第9章联合
9.1有关联合的基础知识
9.1.1微格式
9.1.2提要
9.2联合过程
9.3联合格式
9.3.1RSS 2.0:简单内容
9.3.2RSS 1.0:资源描述
9.3.3RSS 1.0规范和模块
9.3.4Atom:在两方面都最好
9.3.5Atom规范和扩展
9.3.6比较不同格式的元素
9.3.7enclosure和播客
9.4总结
第10章微格式
10.1微格式基础
10.1.1CSS和微格式
10.1.2Semantic HTML
10.1.3内容、表示和数据
10.1.4消除模糊性
10.1.5覆盖范围
10.1.62.0标准组织
10.2创建微格式文档
10.3总结
第11章结合使用多种协议创建Web服务
11.1澄清Web服务
11.2REST服务
11.2.1一个应用程序示例
11.2.2Atom发布协议
11.2.3当前的REST服务
11.2.4更多有关REST的资源
11.3WS-*服务
11.3.1WS-*服务和SOAP
11.3.2WS-*服务和WSDL
11.3.3WS-*栈
11.4REST Vs. WS-*
11.4.1SOAP
11.4.2WSDL
11.4.3工具支持
11.5总结
第12章通过HTTP提供XML
12.1与提供HTML有何不同
12.1.1媒体类型
12.1.2字符编码
12.1.3提供定义良好的XML
12.2提供静态内容
12.3提供动态内容
12.3.1原则
12.3.2使用Java提供XML
12.3.3使用ASP.NET和C#提供XML
12.3.4使用Ruby on Rails提供XML
12.3.5使用PHP、Perl、Python等提供XML
12.3.6使用服务器端XSLT
12.3.7使用XML平台
12.4XQuery和XML数据库
12.4.1使用eXist提供XML
12.4.2WebDAV和Subversion
12.5提供JSON
12.6总结
第13章数据库和非XML数据源
13.1处理非XML数据源
13.2将关系数据转换为XML
13.2.1使用SQL Server进行服务器端转换
13.2.2使用ADO.NET进行客户端转换
13.2.3使用Oracle XSQL
13.3将二进制数据转换为XML
13.3.1手工转换
13.3.2自动转换
13.4总结
第14章创建联合频道
14.1简单的Atom服务
14.1.1用户界面
14.1.2应用程序的架构
14.1.3Abdera Atom工具包
14.1.4代码概览
14.2运行应用程序
14.2.1编译和部署应用程序
14.2.2部署方面的考虑因素
14.3添加电子邮件支持
14.3.1理解邮件支持架构
14.3.2建立本地邮件服务器
14.3.3使用MailClient类
14.3.4MessageReader接口
14.3.5MailEntryCollector
14.4总结
第15章Mashup、HTML抓取和Web服务
15.1流行的示例:地图mashup
15.2为什么使用mashup
15.3mashup的商业模式
15.4屏幕抓取
15.4.1优点和缺点
15.4.2公平竞争
15.4.3下载页面
15.4.4分析页面
15.4.5简单的屏幕抓取示例
15.5创建提要
15.5.1在服务器上部署
15.5.2通过外部服务部署
15.6地图服务和Badge
15.6.1badge
15.6.2Google Maps
15.7总结
第16章实现和维护URI空间
16.1确保URI经受住时间的考验
16.1.1独立于技术
16.1.2层次结构和集合
16.1.3末尾的斜杠和位置无关性
16.2管理URI空间变更
16.2.1HTTP重定向基础
16.2.2永久性重定向资源
16.2.3暂时重定向资源
16.2.4不应使用的重定向方法
16.2.5服务器端重定向
16.3URI映射工具箱
16.3.1Java Servlet
16.3.2Apache mod_alias和mod_rewrite
16.3.3ASP.NET和IIS
16.4总结
第17章播客和提供多媒体
17.1格式迷宫
17.1.1描述格式
17.1.2容器和编码格式
17.2协议
17.2.1组播
17.2.2单播
17.2.3选择协议
17.3总结
第18章安全
18.1什么是安全
18.1.1资源安全
18.1.2消息安全
18.2历史教训
18.3分层方法
18.4身份验证和授权
18.4.1IIS和ASP.NET中的身份验证和授权
18.4.2IIS和ASP.NET中各种身份验证方法
18.4.3Apache中的身份验证和授权
18.5消息加密
18.5.1对称加密
18.5.2公钥设施
18.6消息摘要
18.7数字证书
18.8安全套接字层
18.8.1SSL通信的步骤
18.8.2在IIS中配置SSL
18.8.3在Apache中设置SSL
18.9代码安全
18.10Web服务安全
18.10.1使用Web服务安全
18.10.2该Web服务的工作原理
18.10.3添加策略
18.10.4添加自定义身份验证
18.10.5创建客户端
18.10.6改善安全性
18.11总结



