《第8章 应用层2.ppt》由会员分享,可在线阅读,更多相关《第8章 应用层2.ppt(103页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机网络第 8 章 应用层第 8 章 应用层(续)*8.4 电子邮件8.4.1 概述8.4.2 简单邮件传送协议 SMTP8.4.3 电子邮件的信息格式8.4.4 邮件读取协议 POP3 和 IMAP8.4.5 通用因特网邮件扩充 MIME2第 8 章 应用层(续)8.5 万维网 WWW*8.5.1 概述*8.5.2 统一资源定位符 URL*8.5.3 超文本传送协议 HTTP*8.5.4 超文本标记语言 HTML*8.5.5 万维网页面中的超链 8.5.6 动态万维网文档与 CGI 技术 8.5.7 活动万维网文档 8.5.8 万维网上的信息检索系统38.5 万维网 WWW8.5.1 概述
2、nWWW(World Wide Web)的含义是“环球网”、“布满世界的蜘蛛网”,俗称“万维网”、3W、Web。WWW是一个基于超文本(Hypertext)方式的信息检索服务工具。n它是由欧洲粒子物理实验室(CERN)研制的。n通过将位于全世界Internet网上不同地点的相关数据信息有机地编织在一起,WWW提供这样一种友好的信息查询接口。n用户仅需提出查询要求,而到什么地方查询及如何查询则由WWW自动完成。4nWWW为你带来的是世界范围的超级文本服务:只要操纵电脑的鼠标器,你就可以通过Internet从全世界任何地方调来你所希望得到的文本、图像(包括活动影像)和声音等信息。n另外,WWW还可
3、为你提供“传统的”Internet服务:Telnet、FTP、Gopher和 Usenet News(Internet的电子公告板服务)。通过使用 WWW,一个不熟悉网络使用的人也可以很快成为Internet的行家。58.5 万维网 WWW8.5.1 概述n万维网并非某种特殊的计算机网络。n万维网是一个大规模的、联机式的信息储藏所,英文简称WEB。n万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。n用户只要将计算机的鼠标轻轻一点,就可以从Internet上获得所希望的文本、声音、视频、图像信息。n这种访问方式称为“链接”。6万维网提供分布式服务
4、万维网站点 A万维网站点 C万维网站点 E万维网站点 D万维网站点 B链接到链接到链接到链接到链接到链接到7超媒体与超文本(1)超文本超文本 理解超文本最简单的方法是与传统文本进行比较。传统文本理解超文本最简单的方法是与传统文本进行比较。传统文本(比如,书本上的文章和计算机的文本文件等比如,书本上的文章和计算机的文本文件等)都是线性结构,都是线性结构,阅读时必须逐项地顺序阅读,没有什么选择的余地。超文本则阅读时必须逐项地顺序阅读,没有什么选择的余地。超文本则是一种非线性结构。作者在制作超文本时,可将写作素材按其是一种非线性结构。作者在制作超文本时,可将写作素材按其内部的联系划分成不同的层次、不
5、同关系的思想单元,然后用内部的联系划分成不同的层次、不同关系的思想单元,然后用著作工具将其组成一个网型结构。阅读时,不用按线性方式顺著作工具将其组成一个网型结构。阅读时,不用按线性方式顺序往下读,而是有选择地阅读自己感兴趣的部分。序往下读,而是有选择地阅读自己感兴趣的部分。一个真正的超文本系统一个真正的超文本系统应能保证用户自由地搜索和浏览信息应能保证用户自由地搜索和浏览信息,类似于人的联想式思维方式。类似于人的联想式思维方式。超文本的基本思想是按联想跳跃超文本的基本思想是按联想跳跃式结构组织、搜索和浏览信息,式结构组织、搜索和浏览信息,以提高人们获取知识的效率。以提高人们获取知识的效率。在在
6、WWW中,超文本是通过将可选菜单项嵌入文本中来实现中,超文本是通过将可选菜单项嵌入文本中来实现的,即的,即每份文档都包括文本信息和用以指向其他文档的嵌入式每份文档都包括文本信息和用以指向其他文档的嵌入式菜单项菜单项。这样用户既可以阅读一份完整的文档,也可以随时停。这样用户既可以阅读一份完整的文档,也可以随时停下来选择一个可导向其他文档的关键词,进入别的文档。下来选择一个可导向其他文档的关键词,进入别的文档。8超文本方式的工作方式超文本方式的工作方式 9(2)(2)超媒体超媒体 超媒体由超文本演变而来,即在超文本中嵌超媒体由超文本演变而来,即在超文本中嵌入除文本外的视频和音频等信息,可以说,入除
7、文本外的视频和音频等信息,可以说,超超媒体是多媒体的超文本。媒体是多媒体的超文本。超媒体进一步扩展了超文本所链接的信息类超媒体进一步扩展了超文本所链接的信息类型。用户不仅能从一个文本跳转到另一个文本,型。用户不仅能从一个文本跳转到另一个文本,而且可以激活一段声音,显示一个图形,甚至而且可以激活一段声音,显示一个图形,甚至可以播放一段动画。可以播放一段动画。10超媒体工作方式超媒体工作方式11超媒体与超文本n万维网是分布式超媒体(hypermedia)系统,它将大量的信息分布在整个因特网上。是超文本(hypertext)系统的扩充。n一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文
8、档。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础。n超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。12分布式的和非分布式的区别n分布式的和非分布式的超媒体系统有很大的区别。n非分布式系统中,各种信息驻留在单个计算机的磁盘中。由于各种文档都可从本地获得,因此这些文档之间的链接可一致性检查。n一个非分布式超媒体系统能够保证所有的链接都是有效的和一致的。13 万维网的工作方式 n万维网以万维网以客户服务器方式(客户服务器方式(C/S)工作。工作。n浏览器浏览器就是在用户
9、计算机上的万维网就是在用户计算机上的万维网客户程序客户程序。万维网。万维网文档所驻留的计算机则运行文档所驻留的计算机则运行服务器程序服务器程序,因此这个计算,因此这个计算机也称为机也称为万维网服务器万维网服务器(Web服务器服务器)。nWeb服务器服务器,是网站的主要组成部分,在,是网站的主要组成部分,在Web服务器上,服务器上,存放着网站向外发布的信息。作为一个网站,通常提供存放着网站向外发布的信息。作为一个网站,通常提供多种服务,例如电子邮件、文件下载等,多种服务,例如电子邮件、文件下载等,WWW服务则是服务则是当今网站最普遍的一种服务,几乎所有的信息都是通过当今网站最普遍的一种服务,几乎
10、所有的信息都是通过WWW发布到全世界。平常所说的访问某个网站,其意思发布到全世界。平常所说的访问某个网站,其意思就是访问其就是访问其Web服务器。服务器。n客户程序向服务器程序发出请求,服务器程序向客户程客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。序送回客户所要的万维网文档。n在一个客户程序主窗口上显示出的万维网文档称为在一个客户程序主窗口上显示出的万维网文档称为页面页面(page)。14n网页可以理解为超文本系统中的一个结点,超链接就是网页的地址。计算机文档都以文件的形式存放在诸如磁盘的外存上,因而网页其实就是存放在网站上的一个文件,其扩展名一般是.nHTM、
11、.HTML、.ASP、.PHP等。n用户上网浏览信息,其实就是阅读网站上存放的网页。153.1.2 IE浏览器的启动 Internet Explorer是微软公司推出的功能强大的浏览器,由于该软件操作简单,使用简便,易学易用,深受用户的喜爱。Internet Explorer也简称IE。启动IE的常用方法有以下几种:(1)单击任务栏上的“开始”按钮,指向“所有程序”,在弹出的菜单中单击“Internet Explorer”。(2)从桌面上双击Internet Explorer图标(如图)。(3)从任务栏上的“快速启动图标”处单击IE图标。163.1.3 IE窗口的组成 17万维网需要解决的问题
12、(1)怎样标志分布在整个因特网上的万维网文档?n使用统一资源定位符 URL(Uniform Resource Locator)来标志万维网上的各种文档。n使每一个文档在整个因特网的范围内具有惟一的标识符 URL。18万维网需要解决的问题(2)用怎样的协议实现万维网上各种超链的链接?n在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP(HyperText Transfer Protocol)。nHTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。19万维网需要解决的问题(3)怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地
13、知道在什么地方存在着超链?n超文本标记语言 HTML(HyperText Markup Language)使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。20万维网需要解决的问题(4)怎样使用户能够很方便地找到所需的信息?n为了在万维网上方便地查找信息,用户可使用各种的搜索工具(即搜索引擎)。218.5.2 统一资源定位符 URL1.URL的格式n统一资源定位符 URL 是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。nURL 给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。
14、n“资源”是指在因特网上可以被访问的任何对象,包括文件目录、文件、文档、图像、声音、电子邮件等。n只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。nURL 相当于一个文件名在网络范围的扩展。因此 URL 是与因特网相连的机器上的任何可访问对象的一个指针。22URL 的一般形式 n由以冒号隔开的两大部分组成,并且在 URL 中的字符对大写或小写没有要求。nURL 的一般形式是::/:/(8-2)ftp 文件传送协议 FTPhttp 超文本传送协议 HTTPNews USENET 新闻23URL 的一般形式 n由以冒号隔开的两大部分组成,并且在 URL 中的字符对
15、大写或小写没有要求。nURL 的一般形式是::/:/(8-2)是存放资源的主机在因特网中的域名24URL 的一般形式 n由以冒号隔开的两大部分组成,并且在 URL 中的字符对大写或小写没有要求。nURL 的一般形式是::/:/(8-2)有时可省略252.使用 FTP 的 URLn使用 FTP 的 URL 举例 ftp:/rtfm.mit.edu/pub/abc.txt 这表示使用 FTP 协议26使用 FTP 的 URLn使用 FTP 的 URL 举例 ftp:/rtfm.mit.edu/pub/abc.txt 冒号和两个斜线是规定的格式27使用 FTP 的 URLn使用 FTP 的 URL
16、举例 ftp:/rtfm.mit.edu/pub/abc.txt 这是网站的域名28使用 FTP 的 URLn使用 FTP 的 URL 举例 ftp:/rtfm.mit.edu/pub/abc.txt 这是路径和文件名293.使用 HTTP 的 URLn使用 HTTP 的 URL 的一般形式 http:/:/这表示使用 HTTP 协议30使用 HTTP 的 URLn使用 HTTP 的 URL 的一般形式 http:/:/冒号和两个斜线是规定的格式31使用 HTTP 的 URLn使用 HTTP 的 URL 的一般形式 http:/:/这里写主机的域名32使用 HTTP 的 URLn使用 HTTP
17、 的 URL 的一般形式 http:/:/HTTP 的默认端口号是 80,通常可省略33使用 HTTP 的 URLn使用 HTTP 的 URL 的一般形式 http:/:/若再省略文件的项,则 URL 就指到因特网上的某个主页(home page)。http:/http:/www.163.con 348.5.3 超文本传送协议 HTTP1.HTTP 的操作过程 n为了使超文本的链接能够高效率地完成,需要用 HTTP 协议来传送一切必须的信息。n从层次的角度看,HTTP 是面向事务的(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种
18、多媒体文件)的重要基础。35万维网的工作过程 因特网服务器链接到URL的超链HTTP 使用此 TCP 连接浏览器 程序服务器 程序HTTP客户清华大学院系设置建立 TCP 连接释放 TCP 连接HTTP 响应报文 响应文档HTTP 请求报文 请求文档36n每个万维网网点都有一个服务器进程,它不断地监听TCP的端口80,以便发现是否有浏览器(客户进程)向它发出连接建立请求。一旦监听到连接建立请求并建立TCP连接之后,浏览器就向服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。n最后,TCP连接就被释放。n在浏览器和服务器之间的请求和响应的交互,必须按照规定的格式和遵循一定的规则
19、。n格式和规则就是超文本传送协议HTTP。37nHTTP规定在HTTP客户与HTTP服务器之间的每次交互都由一个ASCII码串构成的请求和一个”类MIME”的响应组成。n用户浏览页面时有两种方法:n(1)在浏览器的地址窗口输入所要查找的网页的URL。n(2)在某一个页面中用鼠标点击一个可选项,浏览器自动在因特网上找到所要链接的页面。38HTTP 的主要特点 nHTTP 是面向事务的客户服务器协议。nHTTP 1.0 协议是无状态的(同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时相同)。nHTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务。n
20、HTTP观点:万维网浏览器就是一个 HTTP 客户,而在万维网服务器等待 HTTP 请求的进程常称为 HTTP daemon,有的文献将它缩写为 HTTPD。39万维网高速缓存(Web cache)n万维网高速缓存是一种网络实体,它代表浏览器发出 HTTP 请求,因此又称为代理服务器(proxy server)。n万维网高速缓存将最近的一些请求和响应暂存在本地磁盘中。n当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去因特网访问该资源。n万维网高速缓存可在客户或服务器端工作,也可在中间系统工作。40使用高速缓存可减少访问因特网服务器的时延
21、 校园网源点服务器2 Mb/s因特网浏览器R1R2这条链路上的时延很大没有使用高速缓存的情况所有万维网通信量都经过这条链路41使用高速缓存的情况校园网校园网的高速缓存(代理服务器)源点服务器2 Mb/s因特网浏览器R1R2(1)浏览器访问因特网的服务器时,要先与校园网的高速缓存建立 TCP 连接,并向高速缓存发出 HTTP 请求报文 42使用高速缓存的情况校园网校园网的高速缓存(代理服务器)源点服务器2 Mb/s因特网浏览器R1R2(2)若高速缓存已经存放了所请求的对象,则将此对象放入 HTTP 响应报文中返回给浏览器。43使用高速缓存的情况校园网校园网的高速缓存(代理服务器)源点服务器2 M
22、b/s因特网浏览器R1R2(3)否则,高速缓存就代表发出请求的用户浏览器,与因特网上的源点服务器建立 TCP 连接,并发送 HTTP 请求报文。44使用高速缓存的情况校园网校园网的高速缓存(代理服务器)源点服务器2 Mb/s因特网浏览器R1R2(4)源点服务器将所请求的对象放在 HTTP 响应报文中返回给校园网的高速缓存。45使用高速缓存的情况校园网校园网的高速缓存(代理服务器)源点服务器2 Mb/s因特网浏览器R1R2(5)高速缓存收到此对象后,先复制在其本地存储器中(为今后使用),然后再将该对象放在 HTTP 响应报文中,通过已建立的 TCP 连接,返回给请求该对象的浏览器。46n注意:n
23、高速缓存有时是作为服务器(当浏览器的HTTP请求时)。n有时作为客户(当向因特网上的源点服务器发出HTTP请求)。473.HTTP 的报文结构 HTTP 有两类报文:n请求报文从客户向服务器发送请求报文。n响应报文从服务器到客户的回答。n由于 HTTP 是面向正文的(text-oriented),因此在报文中的每一个字段都是一些 ASCII 码串,因而每个字段的长度都是不确定的。48HTTP 的报文结构(请求报文)方 法URL版 本首部字段名首部行:值首部字段名值:实体主体(通常不用)请求行空格回车换行:CRLFCRLFCRLFCRLF报文由三个部分组成,即开始行(用于区分是请求报文还是响应报
24、文)、首部行(用来说明浏览器、服务器或报文主体的一些信息)和实体主体(请求报文中一般都不使用,响应报文中也可能没有此字段)。在请求报文中,开始行就是请求行。开始行49HTTP 的报文结构(请求报文)方 法URL版 本首部字段名首部行:值首部字段名值:实体主体(通常不用)请求行空格回车换行:CRLFCRLFCRLFCRLF请求报文的第一行“请求行”只有三个内容,即方法,请求资源的URL,以及HTTP的版本。“方法”是面向对象技术中使用的专门名词。所谓“方法”就是对所请求的对象进行的操作,因此这些方法实际上也就是一些命令。因此,请求报文的类型是由它所采用的方法决定的。50HTTP 的报文结构(请求
25、报文)方 法URL版 本首部字段名首部行:值首部字段名值:实体主体(通常不用)请求行空格回车换行:CRLFCRLFCRLFCRLF“URL”是所请求的资源的定位符URL。51HTTP 的报文结构(请求报文)方 法URL版 本首部字段名首部行:值首部字段名值:实体主体(通常不用)请求行空格回车换行:CRLFCRLFCRLFCRLF“版本”是 HTTP 的版本。52HTTP 的报文结构(响应报文)版 本状态码短 语首部字段名首部行:值首部字段名值:实体主体(有些响应报文不用)状态行空格回车换行:CRLFCRLFCRLFCRLF响应报文的开始行是状态行。状态行包括三项内容,即 HTTP 的版本,状态
26、码,以及解释状态码的简单短语。开始行538.5.4 超文本标记语言 HTML(HyperText Markup Language)1.HTML 概述 目前计算机使用的字处理器种类繁多且版本各异,如某一台计算机屏幕上显示的文件,另一台计算机上就未必能显示出来,万维网要使任何一台计算机都能显示任何一个万维网服务器上的页面,就必须解决页面标准化问题,超文本标记语言HTML就是一种制作万维网页面的标准语言,它消除了不同计算机之间信息交流的障碍。54n超文本标记语言 HTML 中的 Markup 的意思就是“设置标记”。nHTML 定义了许多用于排版的命令(标签)。nHTML 把各种标签嵌入到万维网的页
27、面中。这样就构成了所谓的 HTML 文档。HTML 文档是一种可以用任何文本编辑器创建的 ASCII 码文件。55HTML 文档 n仅当 HTML 文档是以.html 或.htm 为后缀时,浏览器才对此 文档的各种标签进行解释。n如 HTML 文档改换以.txt 为其后缀,则 HTML 解释程序就不对标签进行解释,而浏览器只能看见原来的文本文件。n当浏览器从服务器读取 HTML 文档后,就按照 HTML 文档中的各种标签,根据浏览器所使用的显示器的尺寸和分辨率大小,重新进行排版并恢复出所读取的页面。562.HTML 的格式与标签 n元素(element)是 HTML 文档结构的基本组成部分。一
28、个 HTML 文档本身就是一个元素。每个 HTML 文档由两个主要元素组成:首部(head)和主体(body)。n首部包含文档的标题(title),以及系统用来标识文档的一些其他信息。标题相当于文件名。用户可使用标题搜索页面和管理文档。n文档的主体是 HTML 文档的最主要的部分。n主体部分往往又由若干个更小的元素组成,如段落(paragraph)、表格(table)、和列表(list)等。当浏览器工作时,在浏览器最上面的标题条显示文档的标题,而在浏览器最大的主窗口中显示就是文档的主体。57HTML 的标签 nHTML用一对标签(即一个开始标签和一个结束标签)或几对标签来标识一个元素。n开始标
29、签由一个小于字符“”组成。n结束标签和开始标签的区别只是在小于字符的后面要加上一个斜杠字符“/”。n虽然标签名并不区分大写和小写。n有一些标签可以将结束标签省略。58HTML 文档中标签的用法 一个 HTML 的例子 HTML 很容易掌握 这是第一个段落。虽然很 短,但它仍是一个段落。这是第二个段落。HTML 文档开始59HTML 文档中标签的用法 一个 HTML 的例子 HTML 很容易掌握 这是第一个段落。虽然很 短,但它仍是一个段落。这是第二个段落。首部开始60HTML 文档中标签的用法 一个 HTML 的例子 HTML 很容易掌握 这是第一个段落。虽然很 短,但它仍是一个段落。这是第二
30、个段落。标题61HTML 文档中标签的用法 一个 HTML 的例子 HTML 很容易掌握 这是第一个段落。虽然很 短,但它仍是一个段落。这是第二个段落。首部结束62HTML 文档中标签的用法 一个 HTML 的例子 HTML 很容易掌握 这是第一个段落。虽然很 短,但它仍是一个段落。这是第二个段落。主体开始63HTML 文档中标签的用法 一个 HTML 的例子 HTML 很容易掌握 这是第一个段落。虽然很 短,但它仍是一个段落。这是第二个段落。1 级标题64 一个 HTML 的例子 HTML 很容易掌握 这是第一个段落。虽然很 短,但它仍是一个段落。这是第二个段落。HTML 文档中标签的用法
31、第一个段落65 一个 HTML 的例子 HTML 很容易掌握 这是第一个段落。虽然很 短,但它仍是一个段落。这是第二个段落。HTML 文档中标签的用法 第二个段落66HTML 文档中标签的用法 一个 HTML 的例子 HTML 很容易掌握 这是第一个段落。虽然很 短,但它仍是一个段落。这是第二个段落。主体结束67HTML 文档中标签的用法 一个 HTML 的例子 HTML 很容易掌握 这是第一个段落。虽然很 短,但它仍是一个段落。这是第二个段落。HTML 文档结束68插入图像 结束标签开始标签插入图像插入的图像文件名是 portrait.gif高度是 100 像素宽度是 65 像素698.5.
32、5 万维网页面中的超链1.链接到其他网点上的页面n没有超链就没有万维网,每个超链有一个起点和终点。超链起点说明在万维网页面中的什么地方可引出一个超链。n在一个页面中,超链的起点可以是一个字或几个字,或一幅图,或一段文字。n在浏览器所显示的页面上,超链的起点很容易识别。n以文字作为超链的起点时,文字往往用不同的颜色显示。708.5.5 万维网页面中的超链1.链接到其他网点上的页面n定义一个超链的标签是。字符A表示锚(Anchor)。n在HTML文档中定义一个超链的语法是:X (8-3)超链的起点这个地方填写超链终点的 URL71链接举例清华大学超链的起点是某个文档中的这四个字超链的终点是清华大学
33、的主页722.链接到一个本地文件n远程链接:超链的终点是其他网点上的页面。n本地链接:超链指向本计算机中的某个文件。73本地链接在进行本地链接时,可进行许多的简化:n协议(http:/)被省略表明与当前页面的协议相同。n主机域名被省略表明是当前的主机域名。n目录路径被省略表明是当前目录(对于远程链接,表明是主机的默认根目录)。n文件名被省略表明是当前文件(对于远程链接,表明是对方服务器上默认的文件名,通常是一个名为 index.html 的文件)。74相对路径名与绝对路径名n使用简化的 URL,在 HREF=的后面使用的是相对路径名。n使用完整的 URL 则是使用绝对路径名。n使用相对路径名的
34、好处不仅是可以少键入一些字符,而且也便于目录的改动。754.浏览器的结构n浏览器的结构要比服务器复杂的多。n服务器只是重复执行一个简单的任务:等待浏览器打开一个连接,按照浏览器发来的请求向浏览器发送页面,关闭连接。并等待浏览器的下一个请求。n浏览器包含若干个大型软件组件,它们协同工作。764.浏览器的结构与远程与远程服务器通信服务器通信输出至显示器输出至显示器从鼠标和键盘输入从鼠标和键盘输入网网 络络 接接 口口可选客户程序可选客户程序HTML解释程序解释程序可选解释程序可选解释程序控控 制制 程程 序序驱驱动动程程序序HTTP 客户程序客户程序缓缓 存存77浏览器的主要组成部分 n浏览器有一
35、组客户、一组解释程序,以及管理这些客户和解释程序的控制程序。n控制程序是其中的核心部件,它解释鼠标的点击和键盘的输入,并调用有关的组件来执行用户指定的操作。n例如,当用户用鼠标点击一个超链的起点时,控制程序就调用一个客户从所需文档所在的远地服务器上取回该文档,并调用解释程序向用户显示该文档。78一些常用的浏览器n微软的IE(Internet Explorer)n网景的(Netscape Navigator)n美国火狐狸Firefox n中文傲游Maxthon7980浏览器中的缓存 n在浏览器中设有一个缓存,浏览器将它取回的每一个页面副本都放入本地磁盘的缓存中。n当用户用鼠标点击某个选项时,浏览
36、器首先检查磁盘的缓存。若缓存中保存了该项,浏览器就直接从缓存中得到该项副本而不必从网络获取,这样就明显地改善浏览器的运行特性。n但缓存要占用磁盘大量的空间,而浏览器性能的改善只有在用户再次查看缓存中的页面时才有帮助。n许多浏览器允许用户调整缓存策略。818.5.6 动态万维网文档与 CGI 技术1.动态文档的概念 n静态文档是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变。n动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建。n动态文档和静态文档之间的主要差别体现在服务器一端。这主要是文档内容的生成方法不同。而从浏览器的角度看,这两种文档并没有
37、区别。82实现动态文档必须对万维网服务器功能的扩充(1)应增加另一个应用程序,用来处理浏览器发来的数据,并创建动态文档。(2)应增加一个机制,用来使万维网服务器把浏览器发来的数据传送给这个应用程序,然后万维网服务器能够解释这个应用程序的输出,并向浏览器返回 HTML 文档。83扩充了功能的万维网服务器 万维网服务器浏览器 程序万维网客户服务器 程序HTTP数据库CGIHTTP 请求报文 请求文档 CGI 程序创建动态文档 响应动态文档HTTP 响应报文84通用网关接口 CGI(Common Gateway Interface)n万维网服务器中新增加的应用程序称为CGI程序。CGI 是一种标准,
38、它定义了动态文档应如何创建,输入数据应如何提供给应用程序,以及输出结果应如何使用。n万维网服务器与 CG I的通信遵循 CGI 标准。n“通用”:CGI 标准所定义的规则对其他任何语言都是通用的。n“网关”:CGI 程序的作用像网关。n“接口”:有一些已定义好的变量和调用等可供其他 CGI 程序使用。85CGI 程序nCGI 程序的正式名字是 CGI 脚本(script)。n“脚本”指的是一个程序,它被另一个程序(解释程序)而不是计算机的处理机来解释或执行。n脚本运行起来要比一般的编译程序要慢,因为它的每一条指令先要被另一个程序来处理(这就要一些附加的指令),而不是直接被指令处理器来处理。86
39、2.表单n从HTML 2.0开始就增加了“表单”项目。n“表单”(form)用来把用户数据从浏览器传递给万维网服务器。n在创建动态文档时,表单和 CGI 程序经常配合使用。n表单在浏览器的屏幕出现时,就有一些方框和按钮,可供用户选择和点取。有的方框可让用户输入数据。87表单的构成nHTML 定义表单是在 HTML 文档的主体中插入表单的标签和。n在标签中首先要指明 ACTION 参数,其后面的引号中指出在万维网服务器中的 CGI 程序在何处。一般就是指明 URL。n参数 METHOD 说明对表单所采用的方法,即数据是如何在浏览器和服务器之间传送的。n在 HTML 文档中用标签表示需要用户输入数
40、据的项目。88提交按钮与复位按钮nSUBMIT(提交)按钮的功能是:“填完按此按钮”。当用户点取此按钮时,浏览器即向服务器发送填写的数据。nRESET(复位)按钮的功能是:“清除所填信息”。用户若认为所填写的数据不合适,在按复位按钮后,表单即恢复到刚开始时的样子。n使用标签可在表单中加入下拉式菜单。893.CGI 标准n当 CGI 程序被调用时,服务器就将一些参数传递给 CGI 程序,参数的值可由浏览器提供。使用动态参数的好处是可以用一个CGI程序能够产生许多只有细节不同的动态文档。n服务器将这些参数传递给 CGI 程序时,不是使用一般的命令行方式,而是把这些参数信息置于 UNIX 的环境变量
41、中(最初设计CGI运行在UNIX系统中),然后调用 CGI 程序。nCGI 程序从环境变量中把值提取出来。908.5.7 活动万维网文档1.活动文档的创建 n随着HTTP和万维网浏览器屏幕显示的发展,动态文档已明显不能满足发展的需要,虽然使用表单可以获得一些双向的交互,但这种交互功能非常有限。n活动文档(active document)技术把所有的工作都转移给浏览器端。n每当浏览器请求一个活动文档时,服务器就返回一段程序副本在浏览器端运行。n活动文档程序可与用户直接交互,并可连续地改变屏幕的显示。n由于活动文档技术不需要服务器的连续更新传送,对网络带宽的要求也不会太高。91有两种技术可用于浏览
42、器显示的连续更新n(1)服务推送:将所有的工作都交给服务器,服务器不断的运行与动态文档相关的应用程序。n(2)活动文档技术:将所有的工作都交给浏览器端,每当浏览器请求一个活动问档时,服务器就返回一段程序副本,是该程序副本在浏览器端运行。92活动文档在客户端创建 万维网服务器浏览器 程序万维网客户服务器 程序HTTPHTTP 请求报文 请求文档程序事先被编译成二进制代码,存放为文件程序 此程序在客户端创建出活动文档文档 响应程序HTTP 响应报文程序932.用 Java 技术创建活动文档 n由美国 Sun 公司开发的 Java 语言是一项用于创建和运行活动文档的技术。n在 Java 技术中使用“
43、小应用程序”(applet)来描述活动文档程序。n用户从万维网服务器下载嵌入了 Java 小应用程序的 HTML 文档后,可在浏览器的屏幕上点击某个图像,就可看到动画效果,或在下拉式菜单中点击某个项目,就可看到计算结果。nJava 技术是活动文档技术的一部分。94Java 技术共有三个主要组成部分(1)程序设计语言。Java 包含一个新的程序设计语言,用来编写传统的计算机程序和 Java 小应用程序。(2)运行(runtime)环境。这是运行 Java 程序所必须的运行环境,其中包括 Java 虚拟机(简称为 JVM),该软件定义了 Java 二进制代码的执行模型。(3)类库(class li
44、brary)。为了更容易编写 Java 小应用程序,Java 提供了强大的类库支持。95JavanJava 是一种面向对象的高级语言,从 C+派生出来的,它省略了 C+很多复杂的、很少用的语言特点。nJava 的每一个数据项都有一个确定的类型。对数据的操作严格按照该数据的类型来进行。nJava 的编译程序将源程序转换成 Java 字节码(bytecode),这是一种与机器无关的二进制代码。计算机程序调用解释程序读取字节码,并解释执行。96计算机硬件无关nJava 语言、字节码以及 Java 运行系统都被设计成与计算机硬件无关。一旦形成了字节码,就可在任何计算机上运行并产生相同的输出。nJava
45、 小应用程序与机器无关可使在任何计算机上运行的浏览器程序能够下载并运行活动文档。n可保证活动文档在所有的浏览器上产生同样的正确输出。n可大大地降低活动文档的创建和测试费用,因为不必为每一种计算机都制作一个副本。973.Java 解释程序 n运行 Java 的浏览器 HTML 解释程序和 Java 小应用程序解释程序。n解释程序的核心是一个模仿计算机的简单循环。n解释程序维持一个指令指针,在初始化时指在小应用程序的开始处。n在每一次循环操作时,解释程序在指令指针指向的地址读取字节码。然后解释程序对字节码进行解码,并完成指明的操作。988.5.8 万维网上的信息检索系统1.搜索引擎的工作原理n在万维网中用来进行搜索的程序叫做搜索引擎。n要在万维网上进行检索,就要将所有万维网页面标题中的关键词作成索引。992.一些著名的搜索引擎 当前最有名的搜索引擎是:nGoogle(http:/)nYahoo(http:/)n百度(http:/)100101102103