82
第 10 第 第第第第 Web 第第 第第第第第第第第第第第第第 第第第第 第第第 第第第第第第第第 Web 第第第第第第第第第 Web 第 第第第 第第

第 10 章 超文本和 Web 技术

  • Upload
    konala

  • View
    126

  • Download
    0

Embed Size (px)

DESCRIPTION

第 10 章 超文本和 Web 技术. 超文本的 基本概念与 发展简史 超文本系统的结构 超文本的文献模型 Web 系统 的超文本标记语言 Web 系统的关键 技术. 10.1 超文本的基本概念 及发展简史. 超文本 超文本系统 发展简史与典型系统. 10.1.1 超文本的概念. 文本 特点是它在组织上是线性的和顺序的。 人脑的记忆机制 一种联想式的记忆,它构成了人类记忆的网状结构,对联想、记忆的探索形成了人类思维概念化的基础。. 图 10.1 文本的线性结构. 超文本结构 类似于人类这种联想记忆结构,它采用一种非线性的网状结构组织块状信息。 - PowerPoint PPT Presentation

Citation preview

Page 1: 第 10 章 超文本和 Web 技术

第 10 章 超文本和 Web技术 超文本的基本概念与发展简史 超文本系统的结构 超文本的文献模型 Web 系统的超文本标记语言 Web 系统的关键技术

Page 2: 第 10 章 超文本和 Web 技术

10.1 超文本的基本概念及发展简史 超文本 超文本系统 发展简史与典型系统

Page 3: 第 10 章 超文本和 Web 技术

文本 特点是它在组织上是线性的和顺序的。 人脑的记忆机制 一种联想式的记忆,它构成

了人类记忆的网状结构,对联想、记忆的探索形成了人类思维概念化的基础。

10.1.1 超文本的概念

Page 4: 第 10 章 超文本和 Web 技术

图 10.1 文本的线性结构

Page 5: 第 10 章 超文本和 Web 技术

超文本结构 类似于人类这种联想记忆结构,它采用一种非线性的网状结构组织块状信息。

超文本 是由信息结点和表示信息结点间相关性的链构成的具有一定逻辑结构和语义的网络。

结点 是基本单位。它是一个信息块, 具体地说,它可以是某一字符文本集合,也可以是屏幕中某一大小的显示区。

Page 6: 第 10 章 超文本和 Web 技术

图 10.2 6 结点 9 条链超文本结构

A……….………..

B…….. C…….

D………..……….

E………

F….

Page 7: 第 10 章 超文本和 Web 技术

超文本系统 超文本系统 对超文本进行管理和使用的系统。 超文本系统特点 :(1) 在用户界面中包括对超文本的网络结构的显式表示,即

向用户展示结点和链的形式;(2) 向用户给出网络结构的动态总貌图,使用户在每一时刻

都可以得到当前结点的邻接环境;(3) 超文本系统一般使用双向链, 这种链应支持跨越各种

计算机网络,如 LAN 和 Internet ;(4) 用户可以通过自己思想的联想及感知,根据自己的需要

动态地改变和访问网络中的结点和链;(5) 尽可能不依赖它的具体特性、命令或信息结构,而更多

地强调的是它的用户界面的“视觉和感觉”。

Page 8: 第 10 章 超文本和 Web 技术

第二代超文本系统与多媒体技术结合起来,为强调系统处理多媒体信息的能力而称为超媒体

超媒体 = 多媒体 + 超文本

目前, 超文本与超媒体很难区别, 所以往往不加区分地使用。

Page 9: 第 10 章 超文本和 Web 技术

10.1.2 发展历史

超文本思想最早由美国 V.Bush 提出,他在 20 世纪 30 年 代 即 提 出 了 一 种 叫 做 Memex(memory extender ,存储扩充器 ) 的设想, 预言了文本的一 种 非 线 性 结 构 , 1939 年 写 成 文 章 “ As We May Think” , 于 1945 年在“大西洋月刊”发表。

1965 年, Ted Nelson 创造了“超文本”这个词, 而且开始实现这个想法, 并在他的 Xanadu 计划的长远目标中, 试图使用超文本方法把世界上文献资料联机。

Page 10: 第 10 章 超文本和 Web 技术

超文本发展 3 个阶段 概念产生时期 (1945—1965) , 标志性的事件是

Bush 提出 Memex 和 Nelson 创造 Hypertext 。 概念系统的研究时期 (1967—1985)

1967 年, 布朗大学 Andy van Dam 等研制第一个可运行超文本系统 The Hypertext Editing System ;

1968 年, Doug Engelbart 在 FJCC( 秋季联合计算机会议 ) 上演示 NLS 系统 ( 联机系统 ) ;

1968 年, 布朗大学推出 FRESS( 文件检索与编辑系统 ) ;

1975 年, CMU 推出 ZOG( 现为 KMS ,知识管理系统 ) ;

1978 年, MIT 建筑机械组推出第一个超媒体视频盘片系统 Aspen Movie Map( 白杨城影片地图 ) 。

Page 11: 第 10 章 超文本和 Web 技术

成熟与发展时期 (1985—)

1985 年, Janet Walker 研制的 Symbolics Document Examiner ( 符号文献检测器 ) ;

1985 年 , 布朗大学推出 Intermedia 系统,在 Macintosh 上运行; 1986 年, OWL( 办公工作站有限公司 ) 引入 Guide ,这是第

一个广泛应用的超文本; 1987 年 , Xerox 公 司 推 出 Notecards , 苹 果 公 司 Bill

Atkinson 研制 Hypercard ; 1991 年, 美国 Asymetrix 公司推出 ToolBook 系统; 1990 年 , 位于日内瓦的欧洲量子物理实验室 CERN 开发的运

行于 Internet 的 WWW 系统,对人类社会产生深远影响。

Page 12: 第 10 章 超文本和 Web 技术

超文本的理论研究 1987 年 , ACM 超 文 本 专 题 讨 论 会

(Hypertext’87) 在北卡罗来纳大学召开; 1990 年, 第一届欧洲超文本会议 (ECOH) 在法

国 Inria召开; 这些活动都成了系列性会议延续下来。同时,

ISO等国际组织也开始制定超文本方面的标准,推动其商品化发展。

Page 13: 第 10 章 超文本和 Web 技术

10.2 超文本系统的结构

超文本系统结构模型 超文本的主要部分

Page 14: 第 10 章 超文本和 Web 技术

10.2.1 超文本系统结构模型1. HAM 模型

1988 年, Campbell 和 Goodman 提出 HAM( 超文本抽象机 ) 模型。 HAM 模型把超文本系统划分为3 个层次: 用户界面层, HAM层, 数据库层。

用户界面层超文本抽象机层

数据库层

图 10.3 HAM 模型

Page 15: 第 10 章 超文本和 Web 技术

数据库层 数据库层提供功能是存储、共享数据和网络访

问,处于 3层模型的最低层。 数据库层要保证信息的存取操作对于高层的超

文本抽象机来说是透明的。 数据库还要处理其他传统的数据库管理问题。

Page 16: 第 10 章 超文本和 Web 技术

超文本抽象机层 决定超文本系统结点和链的基本特点,记录了结点之间链的关系,并保存有关结点和链的结构信息。

HAM层就是实现超文本输入输出格式标准化转换的最佳层次。因数据库层存储格式过分依赖机器,用户界面层各系统风格差别很大,很难统一。

HAM层可理解为超文本概念模式,它提供了对数据库下层的透明性和对上层用户界面层的标准性。

Page 17: 第 10 章 超文本和 Web 技术

用户界面层又称为表现层: 用户界面层涉及超文本抽象机层中信息的表现, 包括:

用户可以使用的命令, HAM层信息如何展示,是否要包括总体概貌图来表示信息的组织,以便及时告知用户当前所处的位置等等。

目前流行的界面风格有以下几类: (1) 命令语言; (2) 菜单选项; (3) 表格填充; (4) 直接操作; (5) 自然语言。

Page 18: 第 10 章 超文本和 Web 技术

表 10.1 各种界面风格的比较 界面 优 点 缺 点 命令语言

灵活;支持用户创造性;便于建立用户定义宏;对熟练用户有高效率。

较差的错误处理;要求好的训练和记忆。

菜单选项

缩短训练;减少击键;适合有结构的决策;可用对话管理工具;容易处理错误。

可能出现菜单层次过多及选项复杂情况;对熟练用户太慢;占用屏幕空间;要求快的显示速率。

表格填充

简化数据输入;要求简单训练;便于辅导;可用表格管理工具。

占用屏幕空间 。

直接操作

直观方式提供任务操作;易学习;易记住;可避免错误;适合探索;适合设计者灵活创新。

程序设计有一定难度;要求图形显示器及指点设备。

自然语言

避免学习语法的负担。 要求清晰的对话;击键增多;受限应用范围;短的、限定的上下文。

Page 19: 第 10 章 超文本和 Web 技术

2. Dexter 模型 1988 年 10 月, 在美国新罕布尔州的 Dexter 饭店发起组织了一个研究超文本模型小组, 致力于超文本标准化的研究, 以后逐渐形成了一个超文本参考模型, 简称为 Dexter 模型。

运 行 层播放规范存 储 层定位机制

成员内部层

图 10.4 Dexter 模型

Page 20: 第 10 章 超文本和 Web 技术

存储层 描述成员之间的网状关系。 成员描述系统的基本对象,包括结点和链等。 原子成员是最小成员单位,也即超文本中的结

点,其内容可为不同媒体的信息。 复合成员是具有嵌套层次的成员,由原子成员

和链复合而成。 链是表示元素与元素之间关系的一种实体。

Page 21: 第 10 章 超文本和 Web 技术

成员内部层 成员内部层描述超文本中成员的内容和结构,

对应于各个媒体单个应用成员。 存储层和成员内部层之间的接口称为定位机制

(锚定机制 ) ,其基本成分是锚 , 锚由两部分组成: 锚号和锚值, 锚号是每个锚的标识符, 锚值用来指定元素内部的位置和子结构。

Page 22: 第 10 章 超文本和 Web 技术

运行层 运行层描述支持用户和超文本交互作用的机制,

它可直接访问和操作在存储层和成员内部层定义的网状数据模型。

介于存储层和运行层之间的接口 (播放规范 ) ,提供确定各个成员在运行时表现的视图和操作权限等内容。

锚接口是 Dexter 模型的主要贡献。

Page 23: 第 10 章 超文本和 Web 技术

10.2.2 超文本的主要成份 结点 ( 或节点 ) 超文本表达信息的一个基本单

位, 其大小可变, 结点的内容可以是文本、图形、图像、音频、视频等, 也可以是一段程序。

结点分为不同类型,不同类型的结点表示不同的信息。

Page 24: 第 10 章 超文本和 Web 技术

常见的结点的基本类型: (1) 媒体结点 。(2) 动作与操作结点。 (3) 组织结点。(4) 推理结点。

Page 25: 第 10 章 超文本和 Web 技术

链也是组成超文本的基本单位,形式上是从一个结点指向另一个结点的指针,本质上表示不同结点上存在着的信息的联系。

链的类型 (1) 基本结构链 基本,交叉索引,节点内注释,缩放, 全景, 视图。

(2) 组织链 索引, IS-A , HAS-A ,执行。 (3)推理链。

Page 26: 第 10 章 超文本和 Web 技术

宏结点是链接在一起的结点群, 就是超文本网络的一部分—即子网。

宏文本 (Macrotext) 和微文本 (Microtext) 概念, 来表示不同层次的超文本。微文本又称小型超文本, 它支持对结点信息的浏览; 而宏文本又称大型超文本,支持对宏结点的查找与索引。

宏结点的引入虽然简化了网络结构, 却增加了管理与检索的层次。

Page 27: 第 10 章 超文本和 Web 技术

图 10.5 宏结点

Page 28: 第 10 章 超文本和 Web 技术

10.3 超文本的文献模型 文献模型概述 ODA 模型 HyTime 模型

Page 29: 第 10 章 超文本和 Web 技术

10.3.1 文献模型概述 文献是文章或文本的组合,它比一般文章和文

本带有更多的存储、保留的意味,一旦定形后静态性较强。

超文本的文献模型侧重于超文本的基本特征和一般的层次性结构的描述。

Page 30: 第 10 章 超文本和 Web 技术

1.文献的一般结构 文献的结构包括内容组织和版面安排两个方面。 内容组织指如何组织和构造文献的信息内容; 版面安排是相对内容的表现形式来说的,即文献的各部分内容如何安排在每一页面 ( 屏幕 ) 上。

如把一本书当作文献来看其内容组织主层次结构是:文献 (内容 )→ 章→节→小节→段落 (内容实体 ) 。内容实体可以是一段文字或是一个图表。

可把版面安排也层次化,以便和内容组织对应,可以分成:文献 (版面 )→页 /整屏→框架 /窗口→块/子窗口 (内容实体 ) 。

Page 31: 第 10 章 超文本和 Web 技术

2.文献模型的基本任务(1) 能够表示多媒体文献的内容层次性;(2) 能够表示多媒体文献的版面布局;(3) 能够表示多媒体文献的时间布局;(4) 能够将内容与布局对应起来。

Page 32: 第 10 章 超文本和 Web 技术

10.3.2 ODA 模型 ODA(the office/open document architecture)

是 ISO 在 1988 年公布的一个标准化文献模型(ISO 8613 : 1988) ,它为辅助办公文献的表示和交互而设计的。

它提供了文献的静态描述, 还提供了与其他文献格式接口。

Page 33: 第 10 章 超文本和 Web 技术

ODA 文献结构是层次的和面向对象的。

ODA 文献由两对结构来描述, 即: 一般结构和具体结构,逻辑结构和布局结构。前者体现面向对象性质,后者体现内容与表现的关系

Page 34: 第 10 章 超文本和 Web 技术

逻辑结构和布局结构 文献的内容层次性用逻辑结构描述, 它首先按

文献内容划分成逻辑目标, 逻辑目标可以是一个一般项,如书中的一节、标题、段落等。

文献的版面安排 用布局结构描述。它按内容划分为页集、页和页中方框区域, 其中定义有嵌套区域的方框区域称为框架 , 最低层的区域称为块。块是惟一有内容与之相联的区域。

Page 35: 第 10 章 超文本和 Web 技术

图 10.6 逻辑结构和布局结构对应关系 节

标题 小节

子标题 段落 段落 段落

内容 内容 内容 内容 内容

块 块 块 块 块

框架 框架 框架

页 页

逻辑结构

布局结构

Page 36: 第 10 章 超文本和 Web 技术

一般结构和具体结构 每个文献都有具体的 (specific) 逻辑结构和布局

结 构 , 而 具 体 结 构 的建立是 由 相 应 的 一 般(generic) 结构控制的。

一般结构是一系列关于对象的定义 ( 对象分为逻辑对象集合和布局对象集合 ) 。

每个非页结点的对象定义都有一个属性“从属产生器” , 用来说明对象如何由其子对象构成。

Page 37: 第 10 章 超文本和 Web 技术

图 10.7 一般逻辑结构 论文

标题 作者 摘要 节

段落 子标题段落 列表

SEQREQ REQ OPT SEQ

REP REQ SEQ

REP

REP CHO

Page 38: 第 10 章 超文本和 Web 技术

图 10.8 一般布局结构

论文页集

标题页 继续页

继续正文框架

SEQ

REQ OPT REP

AGG

正文框架标题框架

Page 39: 第 10 章 超文本和 Web 技术

从属产生器属性 可选的 (OPT) 0 或 1次事件; 要求的 (REQ) 仅 1次事件; 重复 (REP) 1次或多次事件; 可选并且重复 (OPT REP) 0 、 1 或多次事件; 顺序 (SEQ) 以固定顺序出现; 聚集 (AGG) 以任意次序出现; 选择 (CHO) 仅其中一个选中。

Page 40: 第 10 章 超文本和 Web 技术

布局过程 ODA 的布局过程确切地决定文档中的每一项被放置的位置。它使用特定的逻辑结构、一般结构、内容体系以建立特定的布局结构。

它工作在两个层次上: (1)内容布局处理内容部分,并将它们安排到块中。

(2) 文献布局将块安排到框架或页中。这个阶段依

赖于称为布局风格的属性集。

Page 41: 第 10 章 超文本和 Web 技术

10.3.3 HyTime 模型 HyTime全称时基超媒体结构化语言, 它是一个

标准的中性标记语言, 表示超文本和时基文献的逻辑结构。

HyTime 由 ANSI 的一个工作组开发,后被 ISO采纳,其标准号为 ISO/IEC 10744 : 1992 。

HyTime 基于 SGML , 用 HyTime 表示的文献与ISO SGML 完 全 一 致 , HyTime 扩 展 了SGML ,使 SGML 更具抽象性、中立性,且增加了许多关于多媒体应用方面的考虑。

Page 42: 第 10 章 超文本和 Web 技术

SGML元素 元素是一个可标记的逻辑体,以“ book” 为例,视

book 为一类元素,将它可分为若干 Chapter , Chapter还可分为 Title 和若干 Section 。 Chapter , Title 和Section 也是元素。它们都是含有一定结构的逻辑体。

一个元素的标记实例:

〈元素名〉 数据 〈 / 元素名〉

起始标签 结束标签

图 10.9 SGML 元素

Page 43: 第 10 章 超文本和 Web 技术

图 10.10 BOOK 类的元素实例

Page 44: 第 10 章 超文本和 Web 技术

SGML DTDs

在 SGML 中 , 用 DTD(Document Type Definition) 来定义文献 (元素 ) 类型, 描述其内部的一般逻辑结构。如下 DTDs :

〈 !ELEMENT Book--(chapter +)>

〈 !ELEMENT Chapter--(Title , Section+)>

〈 !ELEMENT Title|Section--CDATA>

其中 + 表示一个或多个。

Page 45: 第 10 章 超文本和 Web 技术

SGML属性 SGML 用“属性”的方法来表示对某一个元素的

必要的非结构化的信息。属性由“属性名”和“属性值”组成。属性名及其值包含在起始标签里面,是标签的一部分,如下所示:

〈 Book author=“JOGN” …〉 (Chapters)… 〈 /Book 〉

相应 DTD 变为: 〈 !ELEMENT Book--(Chapter +) 〉 〈 !ATTLIST Book author CDATA #REQUIRED 〉

Page 46: 第 10 章 超文本和 Web 技术

SGML 标识符 有两种特殊的属性值: ID 和 IDREF 。 如果一个元素有一个 ID 类型的属性,那么其值必须是该元素的惟一名字。

如果元素 A 要引用有惟一名字的元素 B , 那么 A 的属性 IDREF 的值就是 B 的惟一名字。基于 SGML 的超媒体系统就是用这种机制来表示文献内部的超链。

Page 47: 第 10 章 超文本和 Web 技术

SGML 实体 SGML 中实体是任意数据资源,可以是文件、

硬件子系统、存储缓冲区等等。 实体定义形式为:〈 !ENTITY… 〉。 如 〈 !ENTITY “Myentity”

SYSTEM“Usr/Local/text/myentity” 〉, 则如果在文献中发现“& Myentity” ,就会启动

SGML 系统来引用该实体。

Page 48: 第 10 章 超文本和 Web 技术

HyTime/SGML :元 DTD HyTime 利用称为“ SGML 结构形式”的形式,

提高了 SGML 的抽象性和中立性,可以用来更好地表示多媒体文献系统的特性。

元 DTD 由 一 系 列 组 织 好 了 的 包 装 好 了的“ SGML 结构形式”构成。 SGML DTDs 中的一个〈 !ELEMENT… 定义对应文献的类元素。

元 DTD 是最抽象的结构, 是独立于具体应用的。HyTime其实就是一个元 DTD 系统。

Page 49: 第 10 章 超文本和 Web 技术

SGML 有 3 种结构: 物理的实体结构; 逻辑的元素结构以及类似指针的 ID-IDREF 结构。

3 种基本逻辑结构 : SGML层次性元素结构; HyTime 超链结构; Hytime 调度结构。

Page 50: 第 10 章 超文本和 Web 技术

图 10.11 Hytime 的 3 种结构

Page 51: 第 10 章 超文本和 Web 技术

10.4 Web 系统的超文本标记语言 目前最成功或最流行的超文本系统是运行

于 Internet 网上 WWW , 它实现了在广域网上多媒体信息动态查询, 其中 HTML是其使用的超文本标注语言。

Page 52: 第 10 章 超文本和 Web 技术

HTML 语言编写的网页超文本信息按多级标题结构进行组织,其结构如下:

<HTML>

<HEAD><TITLE> 标题名 </TITLE></HEAD>

<BODY>

<H1> 一级标题名 </H1>

...... Web 页主体 </BODY>

</HTML>

10.4.1 HTML 语言

Page 53: 第 10 章 超文本和 Web 技术

HTML 标记包含包容标记和空标记。空标记用于说明一次性指令,如换行标记为 <BR> 。包容标记由开始标记和结束标记构成, 结构如下:

< 标记名 > 数据 </ 标记名 > HTML 标 记 有些可 以带有属性 , 如 <IMG

SRC=“GLOBE.GIF”> , 其中 SRC 为属性, 该属性告诉浏览器图像的文件名。

1. 基本结构

Page 54: 第 10 章 超文本和 Web 技术

2. 超文本标记方法 字体 黑体 <B> 文本 </B> 斜体 <I> 文本 </I> 下划线 <U> 文本 </U> 打字体 <TT> 文本 </TT> 字号与颜色 设定基准字号的标记方法为: <BASEFONT SIZE=#> # = 1 - 7 设定指定字号的标记方法为: <FONT SIZE=#> 文本 </FONT> # = 1 , 2 , 3 , 4 , 5 , 6 , 7 表示指定的字体大小; # = +(-)2 , 3 , 4 , 5 , 6 表示字体大小的相对改变。

Page 55: 第 10 章 超文本和 Web 技术

设定字体颜色可通过如下两种方式: <FONT COLOR="hex_rgb"> 文本 </FONT> <FONT COLOR="color name"> 文本 </FONT> 段落格式包括换行符号 <BR> ,分段 (换行加空行 ) 符号 <P> ,分界尺符号 <HR>等。

文本链接可通过点击文本检索浏览另一超文本网页,如: <A HREF= “Art.html”>Click Here for Art.</A> 图像链接可通过点击一幅图像从而跳到另一超文本网页,如<A HREF= “Olddog.html”><IMG SRC=“Dog1.gif”> </A>

Page 56: 第 10 章 超文本和 Web 技术

FTP 和 Email 链接 HTML页面可实现与 FTP 和 Email 系统的链接,例

如: <A HREF= “ftp : //ftp.myDomain.com/Pub/freeware.txt”>

GetFreeware</A><A HREF= “mailto :[email protected]”>Mailtome.</A>

非图像浏览器图像替换 如浏览器不能浏览图像, HTML 可用 ALT指定其替

代文字,例如: <A HREF= “Olddog.html”><IMG SRC= “Dog1.gif”

ALT= “[picture of a dog]”></A>

Page 57: 第 10 章 超文本和 Web 技术

3. 多媒体信息 图像显示 显示图像的标记方式为: <IMG SRC="file : ///d : /html/jet.gif" WIDTH=?

HEIGHT=? VSPACE=? HSPACE=?> 其 中 , WIDTH , HEIGHT 为 图 像 的 宽 , 高 ;

VSPACE , HSPACE 为垂直,水平空格数。 列表 有序 <OL> 无序 〈 UL 〉 <LI> 〈 LI 〉 <LI> 〈 LI 〉 </OL> 〈 /UL 〉

Page 58: 第 10 章 超文本和 Web 技术

音频

HTML 中可指定背景音乐, 例如: <BGSound SRC="Path/Filename.WAV" Loop=#>

# 为循环次数。 利用链接启动声音,如当用户单击文本 link

text后, 声音才播放: <A HREF="Path/Filename"> link text </A>

Page 59: 第 10 章 超文本和 Web 技术

视频与动画 在 HTML页面上播放视频与动画标记格式如下: <IMG dynsrc="user.avi" START=fileopen (or mouseover)

WIDTH=? HEIGHT=? VSPACE=? HSPACE=? LOOP=? >

<IMG dynsrc="user.flc" START=fileopen (or mouseover)

WIDTH=? HEIGHT=? VSPACE=? HSPACE=? LOOP=? >

除了 dynsrc 属性,其他属性都可默认。 START=fileopen 表示Web 页一被装入便播放; START=mouseover 表示鼠标从该区域滑过才播放。

Page 60: 第 10 章 超文本和 Web 技术

Web页中背景的实现

用图像填充背景 <BODY BACKGROUND="Path/Filename">

用颜色填充背景 <BODY BGCOLOR="#RRGGBB">

RR , GG , BB 分别表示红、绿、蓝分量, 用十六进制表示。例如, <BODY BGCOLOR= “#888888”> 表示背景颜色为灰色。还可用颜色的名字表示背景颜色, 格式为 <BODY BGCOLOR="颜色名 ">

Page 61: 第 10 章 超文本和 Web 技术

10.4.2 XML 可扩展的标记语言 XML 是 1998 年 2 月正式公布的网络

超文本的元标记语言,由 W3C 的 XML工作小组所定义的。

它和 HTML 一样, 是 SGML 的一个子集。 XML保留了 SGML 80% 的功能, 并使复杂程度降低了 20% 。

XML兼取 HTML 和 SGML之长, 既通用全面又简明清晰,并具有很强的可伸缩性和灵活性。

XML 是自描述的,显示样式可以从数据文档中分离出来,放在样式单文件中。

XML还具有遵循严格的语法要求、便于不同系统之间信息的传输、有较好的保值性等优点。

Page 62: 第 10 章 超文本和 Web 技术

10.4.3 动态网页生成技术目前最常用的动态网页生成技术主要有: ASP(active server apages) ; PHP(personal hypertext preprocessor) ; JSP(Java server pages) 。它们都是应用于服务器端的技术,以便于快速开发

基于 Web 的应用程序。

Page 63: 第 10 章 超文本和 Web 技术

10.5 Web 系统的关键技术

Page 64: 第 10 章 超文本和 Web 技术

10.5.1 Web 系统的结构

1. 基本结构 Web 系统是采用 HTTP(Hypertext Transfer Protocol) 协议的超文本系统, 其基本结构是一个客户机 /服务器模型, 如图所示。

客户机 Web 服务器

图 10.12 Web 系统基本结构 用 户 通 过 客 户 端 的 浏 览 器 发 出 访 问 请 求 , 如 键 入 http : //www.bupt.edu.cn , 通过 Internet 网络进入网址为 www.bupt.edu.cn服务器。服务器下载页面信息 (HTML 格式 ) 作为请求的响应。

10.5 Web 系统的关键技术

Page 65: 第 10 章 超文本和 Web 技术

2. 扩展结构(1)  网络服务器站点镜像 为了提高响应速度, 减少网

络负担, 增强系统的强壮性, 重要站点常常采用服务器站点镜像的方法, 将网站服务器分布部署在不同的地点,而每个服务器具有相同的服务内容, 信息动态地实时同步更新。

这种结构分担服务器的负载,提高了系统的服务质量。

图 10.13 服务器站点镜像结构

Page 66: 第 10 章 超文本和 Web 技术

(2)  代理服务器 在靠近客户端的合适位置缓存热点访问信息被认为是缓解Web服务瓶颈、减少 Internet流量和改进 Web 系统可扩展性的一种有效方案。使用防火墙中的代理服务器来缓存防火墙内用户访问的信息是自然可行的途径。

当然这类缓存代理可以放置在客户机和服务器间的其他地方,而文档可缓存在客户机、服务器和代理中的任一位置。

图 10.14 基于代理服务器的扩展结构

Page 67: 第 10 章 超文本和 Web 技术

10.5.2 Web 系统的关键问题 1.Web缓存设计的问题

Web 服务质量性 能参数包 括准入延时 、 媒 体播放质量等, Web缓存可显著改善Web 系统的服务性能, 表现在:

Web 缓存减少带宽消耗,降低网络流量并缓解网络阻塞;

由于频繁访问的文档存放在离客户端近的代理, Web缓存减少了用户访问延时;

Web缓存通过分散数据在缓存代理中而减少了远程Web服务器的工作负荷;

如果远程服务器或网络不能访问时,用户可获得在代理中复制的信息, 因此Web服务的强壮性加强;

Web缓存的其他好处是它提供了分析一个机构的 Web服务使用模式的机会。另外,一组缓存的互相合作可进一步改进缓存的有效性。

Page 68: 第 10 章 超文本和 Web 技术

在 Web服务中使用缓存系统可能会出现下述缺点: 由于缺乏缓存代理更新,用户也许查看的是陈旧的数据; 由于额外的代理处理,访问延时在缓存中查不到目标数据

的情况下可能增加; 单一的代理总是系统服务的瓶颈 , 针对一个代理所服务

的客户数应有所限制; 使用代理缓存会减少原远程服务器的点击率从而引起多数

信息提供者的失望 , 因为他们不能维持对他们页面点击的管理。

Page 69: 第 10 章 超文本和 Web 技术

因此, Web缓存系统设计应解决下述问题: 缓存系统的体系结构,代理的放置,缓存的内容,

代理间的合作,数据共享,缓存的路由选择,预先抽取,缓存的放置与替换,缓存的一致性,控制信息的分布,动态数据的缓存等。

通过上述问题解决使 Web 缓存系统具有以下特点:

快速访问,强壮性,透明性,可伸缩性,有效性,自适应性,稳定性,负载平衡,能处理异构性和简单性。

Page 70: 第 10 章 超文本和 Web 技术

2.缓存系统的体系结构 如何放置缓存代理来完成最优性能是 Web 系统要考虑的重

要问题。这与客户群体大小和缓存系统体系结构有关。(1) 层次缓存结构 利用层次缓存结构,缓存可以多级网络放置。为简单起见,假设采用 4级缓存 : 最底级,部门级,地区级和国家级。

层次缓存结构有高的带宽使用效率,尤其是一些合作的缓存服务器没有高速连通性时。

还应考虑层次缓存结构相关的问题,诸如: 建立这样分层结构,缓存服务器需要被放置到网络中的关

键访问点,这需要系统中缓存服务器间大量的协调;每级层次可能引入另外的延时;高层缓存可能变成瓶颈并具有长的排队时延;相同文档的多个备份存放在不同层次的缓存。

Page 71: 第 10 章 超文本和 Web 技术

(2) 分布式缓存结构 分布式缓存结构中只有底层缓存的存在,没有其他中间层次的缓存。为了决定从哪个部门级缓存中查找一个没有在当前缓存找到的数据, 所有部门级缓存都保存有其他部门级缓存的内容的元数据信息。为了使元数据信息更有效和可伸缩, 应使用一个分层的分布机制。

这个层次结构仅用来分布文档位置的目录信息,而不是实际数据备份。利用分布式缓存大多数流量在底层网络层,在中间网络层次减少了阻塞也不需要另外磁盘空间。另外,分布式缓存支持更好的负载共享和容错性能。

大规模的分布式缓存的部署也许会遭遇诸如高连接时间、较高的带宽消耗、缓存管理等问题。

Page 72: 第 10 章 超文本和 Web 技术

(3) 混合的缓存结构 在混合的缓存机制中,利用分布式缓存技术,缓

存可与同一级的缓存也可与较高一级的缓存合作。 例如在 Harvest项目中设计的 ICP(Internet Cache

Protocol) 是一个典型例子。文档从父缓存 / 邻接缓存中具有最小全程访问时间的一个缓存中取出。

Page 73: 第 10 章 超文本和 Web 技术

目前常用的缓存方式有以下几种: 预装 (preload) 技术 服务器主动把一些热点文档下推 (push)

到代理服务器,以便用户能较快地访问缓存的最新文档。 动态置换 缓存过程中常采用客户拉 (pull) 的方法,即用户

点击的文档自动进入缓存。缓存内容应保持目前最热点的文档,由于缓存容量限制,缓存内容就需要一个动态置换过程。

部分缓存 为使缓存发挥最大的效率,可采用将热点文档的开始部分 (prefix) 而非全部进行缓存,这样既能达到提高Web服务质量的效果又能通过缓存较多的文档尽可能提高缓存的利用率。

3. 缓存方式

Page 74: 第 10 章 超文本和 Web 技术

10.5.3 缓存置换策略 代理缓存的有效性主要在于具有高命中率的放置 /置换算法。缓存置换算法可划分为 3 类:

传统的置换策略及其直接扩展; 基于键的置换策略; 基于费用的置换策略。

Page 75: 第 10 章 超文本和 Web 技术

1. 传统的置换策略及其直接扩展 这类算法包括: LRU(least recently used) 算法 为使一个最新访问的对象进入缓存,一些最久请求的缓存对象被置换出去,即首先替换出上次访问请求以后时间最长的没被请求的缓存对象;

LFU(least frequently used) 算法 当新对象进入时,最不频繁访问或具有最小访问频率的对象先被置换出去;

FIFO(first in first out) 算法 按进入缓存的时间顺序置换出先进入的对象,同一天进入的对象可按尺寸 (size)排序,较大者先被置换。

Page 76: 第 10 章 超文本和 Web 技术

这类算法基于主键、二级键、三级键等来置换对象。算法有: Size 算法 基于对象的尺寸,每次置换出最大的对象; LRU-MIN 算法 该算法偏爱较小的对象。如果缓存中存在尺寸至少为 S 的对象 , LRU-MIN 从这些对象中置换出最久使用的对象。如果没有尺寸至少为 S 的对象 , 那么LRU-MIN 对尺寸至少为 S/2 的对象按 LRU 顺序置换。即,具有最大的 log(size) 的对象和具有相同 log(size) 的所有对象中最久使用的对象被首先置换出去;

LRU-阀值算法 相同于 LRU ,但大于某个阀值尺寸的对象从不进入缓存。

2. 基于键的置换策略

Page 77: 第 10 章 超文本和 Web 技术

Hyper-G 算 法 是 LFU 算法的细化,将访问频率(次数)作为主键,最后一次访问的时间作为二级键,对象尺寸作为三级键排序来置换缓存对象。

LLF(lowest latency first) 算法 该算法通过首先置换出具有最低下载延时的文档来最小化平均延时。

Page 78: 第 10 章 超文本和 Web 技术

考虑诸如上次访问时间间隔、对象进入缓存时间、传输时间费用、对象失效时间等因素, 使用一个费用 ( 代价 )函数来找出应该置换出去的对象, 该类算法的目标是最优的置换策略。主要的方法有:

GD-Size(greedydual-size) 算法 该算法对每个对象联系具体费用, 并置换出具有最低费用 /尺寸比来置换对象。

LNC-R(least normalized cost replacement) 该算法使用一个考虑访问频率、传输时间费用和对象尺寸的有理函数来确定置换对象。

Bolot/Hoschka 算法 该算法使用一个考虑传输时间费用、对象尺寸和上次访问时间的带权有理函数来确定置换对象。

3. 基于费用的置换策略

Page 79: 第 10 章 超文本和 Web 技术

SLRU(size-adjusted LRU) 该算法按费用与对象尺寸的比率来对对象排序,选择具有最佳费用尺寸比率的对象。

Hybrid 算法 该算法对每个对象联系一个利用函数,置换出对减少总的延迟具有最低利用值的对象。

基于费用的置换策略由于考虑角度不同 , 选择参数不同,方法多种多样。下面以 SLRU 算法为例来介绍其具体过程。

C . Aggarwal 等人提出的 SLRU 算法使用下列符号:N —— 对象个数;Si —— 对象 i 的尺寸;C(k)—— 第 k 次迭代后,缓存中的对象集合;ik —— 第 k 次迭代时访问的对象;

Page 80: 第 10 章 超文本和 Web 技术

Tik—— 自上次对象 i 被访问以来缓存访问次数, 1/Tik称为对象 i 的动态频率;

R—— 缓存中为容纳对象 ik必须提供的空间尺寸。 所考虑的问题形式化为求: Min yi/Tik

iC(k)

使得 Si yi R 且 yi{0 , 1} 。 iC(k)

该问题实际上是著名的背包问题,也是一个 NP 问题。

Page 81: 第 10 章 超文本和 Web 技术

有效的启发式求解是使用贪心算法,具体算法步骤如下:( 1)对所有对象按费用尺寸比率进行排序;( 2)选择具有最好的费用尺寸比率的对象,直到不能再放

入背包。 本例中费用尺寸比率为 1/(SiTik) 。所以重新按 SiTik不减

的顺序重排对象,使得:S1T1k S2T2k … S|C(k)|T\C(k)|k

然后,逐个选择最高序号的对象并从缓存中去掉它们,直到我们为进入缓存的对象创建了有效的空间。

Page 82: 第 10 章 超文本和 Web 技术

本章小结 本章简要介绍超文本和超文本系统的概念、发

展历史和典型系统; 对超文本文献模型进行了讨论,它是开发超文

本标记语言的基础; 介绍了 Web 系统的超文本标准语言和方法; 讨论了 Web 系统及其关键的技术问题。