Compare Plans

什么是万维网(WWW)

更新时间:2024-10-14

WWW是Internet最为重要的应用,也是Internet飞速发展最直接的推动力,又和IP网络电话密切相关,它的操作模式已为用户广为接受,成为IP网络通信的典型使用环境。本节就WWW的基本原理和技术作一简要介绍。

2.4.1  基本概念和术语

1.发展背景

WWW起源于1989年欧洲核物理研究中心(CERN)。为了方便散布于欧洲各国的科学家及时地交换工作报告、图纸、照片和其它文件,CERN发起建立了一个文本方式的Web系统。1993年推出了第1个图形浏览界面Mosaic。次年Mosaic的作者创立了著名的网景(Netsaape)公司,专业开发Web软件。同时CERN和MIT联手建立了WWW集团(W3C—--WWWConsortilllll),推行协议标准化、网站互操作性等工作。其后许多大学和公司加入此集团,使WWW成为链接全球各地、包罗万千信息、无所不有的信息访问网,其结构犹如蜘蛛网样纵横交错、无处不及,这正是万维网的名字由来。

2.基本术语

·  页面(page):在Web用户界面上看到的文件。每个页面包含链接(指针),可指向位于全球任何地点的相关页面。

·  超链(hyperlink):页面中用作指向其它页面的指针的一段字符串。通常用不同颜色显示,或标有下划线。

·  超文本(hypertext):包含超链的文本。由此构成页面,并互联页面成网(Web)。

·  超媒体(hypermedia):超文本页和其它媒体的组合形式,其中包含可以链接的音频、视频等多种媒体信息。

·  浏览器(browser):页面阅读程序。

·  Web站点(website):提供一整套通过链连接在一起的页面的服务点。

3.工作模式

WWW采用客户/服务器模式运行。客户端有装浏览器,服务器端就是Web站点,装有服务器软件。其基本结构如图2.42所示,一次对话的基本过程为:

万维网(WWW)(图1)

图2.42     WWW的客户/服务器工作模式

①用户键入Web地址或点击超链。

②浏览器确定Web站点地址。

③浏览器请求DNS解析此Web站点地址。

④DNS返回IP地址。

⑤浏览器利用该IP地址建立至Web站点的TCP连接(公认端口号80)。

⑥浏览器发送请求某页面文件的命令。

⑦站点服务器回送指定的页面文件。

⑧释放TCP连接。

⑨浏览器显示该页面。

浏览器一般会在屏幕下方显示目前正在执行哪一步。

4.主要技术

WWW用到的主要技术包括:

(I)统一资源定位器(URL-Uniform Resource Locator):WWW定义的一种统一的地址标记形式,由它指明所要访问的资源(页面文件)的所在地及访问方式。

(2)超文本传送协议(HTTP--HyperText Transfer Protocol):客户和服务器之间运行的标准WWW协议,用以请求获取所需的页面。

(3)超文本标记语言(HTML——HyperText Markup larguage):Web页面编写语言,它能表示文本、图形和链。

(4)公共网关接口(CGI—-Common Gateway lnferface):Web服务器和后台可执行程序之间的标准接口,藉此提供WWW交互功能。下面逐一说明上述各项技术。

2.4.2URL

要实现通过链接指针调阅指定的页面,首先必须定义页面的统一命名机制。该机制应指明三类信息:页面网络地址、页面文件名称、如何访问页面文件。URL就是由这三类信息组成的全球统一的页面名。它由三部分构成:

·  访问协议名;

·  页面所在主机的域名;

·  唯一确定该页面的本地名,通常就是页面文件在该主机上的路径名

例如:http://www.njupt.edu.en/pnjupt/org/Department2/wel­come.htm指示的就是南京邮电学院二系的主页。它位于域名为www.njupt.edu.en的主机上,文件路径名为pnjupt/org/Department2/Welcome.htm,访问协议是http。

在编写页面时,超链部分需给出两类信息:可点击的文字以及相应的URL。当用户点击此链时,浏览器从URL.中取出域名,经由DNS服务器得到对应的IP地址,然后建立TCP连接,在此连接上用URL中指定的协议将文件名送给站点主机,就能得到所需的页面。

URL支持的常用协议如表2.4所示。由此可见,URL定义的访问机制是开放式的,不限于HTTP,允许用户采用任何协议去检索信息,这样,从原理上来说,只要有了Web浏览器就不需要其它协议专用的用户接口程序了。但是,它要求浏览器能处理各种协议,对于许多浏览器来说可能做不到这点,这时可采用另外一种方法,即设置代理服务器(proxy server)。

表2.4 常用URL访问协议

万维网(WWW)(图2)

万维网(WWW)(图3)

如图2.43所示,代理服务器相当于是客户机和服务器之间的一个网关。它和客户机之间采用HITP通信,

万维网(WWW)(图4)

图2.43    代理服务器功能

和服务器之间则采用FTP、Gopher等适配的协议通信。除了作为协议转换网关以外,代理服务器还可作为快速缓存(caching)。它将所有流经它的页面均保存在存储器中,暂存时间可设定,如24小时。当用户请求某页面时,代理服务器首先检查是否存有该页面,若有,则直接将缓存的页面送给用户。这样既加快速度又节省费用。此外,单位还可将代理服务器置于防火墙内,以控制用户对Internet的接入。

尽管URL设计思想相当好,但是它也有一个固有的弱点,就是只能指向一个确定的主机。随着Web的大规模应用,希望一些经常被调用的页面能有多个副本置于不同的地点,以均衡网络的负荷。为此,IETF新定义了统一资源标识符(URI一一Universal Resource I­dentifier),它可视为广义的URL,支持同一资源分布在多个Web站点十。浏览器要调用该资源时,可以从最适当的站点取回。

2.4.3  HTTP

HTIP是WWW标准传送协议。一般采用TCP作为其下层的运输层协议,公认端口号为80。但是标准也没有强制要求使用TCP。如果ATM网络足够可靠的话,也可用AAL5适配后直接在ATM网络中传送。

HTIP协议过程十分简单,只包含一次请求和一次响应,如图2.44所示。服务器进程启动后就在80号端口守听。客户点击超级链接或者键入URL后,就发起至服务器HTTP端口的TCP连接建立。然后客户向服务器发送ASCII形式的请求数据行,请求执行某项操作。服务器执行操作后送回响应,响应是类似多用途Internet邮件扩充(MIME一Multipurpose Internet Mail Exlensions)格式,可以传送图像、声音、视像等非ASCII数据。客户收到响应后就断开连接。其好处是占用主机资源可以减小到最低程度,有利于许多客户同时访问服务器。

万维网(WWW)(图5)

图2.44   HTTP协议过程

需要注意的是,如果取回的页面中有图像(图标、照片、画面等),则对于每个图像,客户程序都要执行建立连接、通信和释放连接过程,虽然效率较低,但是协议实现简单。

HTTP还是一个无状态的协议。它不记忆事务处理历史,如果后续处理需要用到以前的信息,必须由请求报文告之,因此每次连接要传送较多的信息。其优点是运行速度快,服务器响应快。

HTTP协议包括两类元素:客户机至服务器的请求和服务器至客户的响应。

响应由状态行和信息组成。状态行指示操作执行情况,用编码表示。如200表示OK,另外定义了许多出错码,如400为请求错误等(信息即全部或部分的Web页面。

请求一般也由多行组成。第一行为方法、URL和协议版本号,其中URL仅为路径名。后续行进一步告诉服务牉如何解释本次请求。

HTTP虽然是为Web而设计的,但是它力求一般化,期望能用于未来的面向对象应用。正因为如此,第一行的第一个词就是请求对Web页面执行的方法,即命令。推广到面向对象应用,也就是对一般对象执行的方法。HTTP规定的方法有7种,如表2.5所示。如果要访问一般的对象,还可定义其它方法。方法名必须大写。

表2.5HTTP内建请求方法

万维网(WWW)(图6)

各方法的简要操作为:

(1)GET:请求服务器发送页面。该方法可后加If-Modified-Since头部,并写明日期。指示服务器,如果该页面在该日期后已有修改则发送,否则就无需发送,这时浏览器将显示原来缓存的页面。

(2)HEAD:仅请求发送消息的头部,不需要整个页面。其用途是获得页面最后一次修改的日期。采集索引信息或测试URL的合法性。

(3)PUT:是GET的逆操作,即写页面。它用于在远程服务器中建立一组页面。请求体包含页面,并可含鉴权头部,以表明请求者有权执行该操作。

(4)POST:和PUT类似,但不是用所附信息覆盖写入指定资源,而是将信息加在该资源中。其目的是让Web能取代USENET新闻系统的功能,将消息添加至新闻组中。

(5)DEIETE:删除某页面。必须鉴权。

(6)LlNK和UNLlNK:用于在已有页面之间或其它资源之间建立连接。

      2.4.4   HTML

HTML是专门用于编写超文本页面的标准语言。Web服务器通过HTTP将用HTML书写的页面传给客户,客户端的浏览器解释HTML描述,将页面在屏幕上显示。

1.标记(markup)

HTML是一种标记语言。所谓标记就是嵌在文本中指示文本格式的控制字符。标记通常成对出现,用以指示在标记对之间的文本的字体、位置、大小、是否黑体以及回车、段落划分等,例如,〈B〉Hello/B〉就表示Hello一词应以黑体显示。其原理和Word、WPS等文字处理软件类似,差别在于HTML文件允许浏览器对页面进行重新格式化,以适应不同的屏幕尺寸和分辨率,而文字处理器难以做到这一点。此外,HTML中的标记还可用来建立图像和超链接,其中内含URL。

表2.6   HTML  常用标记

万维网(WWW)(图7)

 万维网(WWW)(图8)

表2.6示出HTML中指示文本格式的常用标记。其中,Hn〉的处理由浏览器自定,一般是标题等级越高(n值小),标题字体越大。列表是HfML中的一种重要结构,它有3种形式:尤编号列表,每个表项由圆点(.)起首;有编号列表,每个表项由数字序号起首;菜单列表的每个表项起始既尤圆点也无数字,为紧凑型列表。PRE〉通常用于显示程序,因为程序的书写格式有其特定的含义,一般不允许更改。

设,某HTML文件为:

HTML〉HEAD〉TTTLE〉ABC Co.(/TTTLE〉/HEAD〉

BODY〉(H1〉Welcome to ABC Co.'s Home Page/Hl〉

Welcome to visitB〉ABC Co.'s(/B〉home page.HR〉(H2〉Telephone  numbers/H2〉

UL〉Ll〉Tel:025-3496427

Ll〉FAX:025-3496000

/UL〉/BODY〉/HTML〉则,其显示的页面如图2.45所示。

万维网(WWW)(图9)

 图2.45    HTML文件对应的页面显示

2.图像和超链

HTML允许在Web页面中包含图像,其常用的描述格式为:

IMG  SRC="…“ALT="…”〉

其中,参数SRC指示该图像的URL。由于图像编码所需的比特数较多,为了节省费用,浏览器可以选择“关闭图像”,参数ALT就是指示图像关闭时显示的替代文字。HTML标准并没有规定采用何种图形文件格式,实际上,所有浏览器均支撑GIF文件,相当多的浏览器还支持JPEG文件。

图像标记的其它参数还有:ALlGN,用以控制图像相对于文本的位置(顶部、中间或底部);ISMAP,指示这是一个活性地图,也就是说,可以点击该地图的各个部分,浏览器将经由HITP送出该点的座标,服务器返回该部分的放大图像。

超链标记的常用格式为:

A HREF="…”〉.../A〉

其中,HREF指示该超链接的URL,标记对〈A/A〉之间为屏幕上显示的超链名。例如:

A HREF="http://www.njupt.edu.cn")NUPT's  home page/A〉

对应为页面上的显示即为:

NUPT'shome  Page

一般为不同的颜色。当用户点击此文字后,浏览器即通过HTTP向域名为WWW.njupt.edu.en的网站获取其主页并显示。

超链接名也可为一个图形,如:

AHREF="http://www.njupt.edu.en”〉IMGSRC="Campus.git”ALT="NUPT”〉(/A〉

此时页面显示一幅图案,点击此图案就可获得南京邮电学院的主页。当浏览器关闭图形显示时,将由字符"NUPI'”代替此图案。

     2.4.5   CGI

上面讨论的HTML只提供单向通信能力,客户可以点击请求服务器提供所需的页面,但是反过来服务器向客户请求信息就难以做到。随着Web的广泛使用,越来越多的应用需要客户和服务器之间进行交互式通信,例如电子购物、数据库访问、免费软件散发等都要求客户填登记表、给出搜索关键词、键入个人信息等。为此,HTML2.0版本引入了登记表(Form)这一重要的结构。

登记表定义了多种类型输入框(box),用户可在这些框中写入文字或作出选择,HTML用INPUT标记进行描述,其一般格式为:

INPUT TYPE="···"NAME="…“VALUE="…“SIEE=…〉其中,NAME指示变量名,用户输入该框的数据就赋值给该变量;VALUE指示该框输人数据的缺省值;SIZE指示该框所占的列数。

登记表已定义的输入框类型有:

.文本(TEXT)框:为输入框的缺省类型,用户需在此类框中键入字符串。

.无线电(RADIO)按钮:单选按钮,用户需在所列的几个选择钮中选择一个。

.开关按钮(CHECKBOX):多选按钮,用户可在所列儿个选择按钮中任选若干个。

·  门令(PASSWORD)框:同文本框,只是用户键入字符串不显示。

.文本域(TEXTAREA)框:同文本框,只是可包含多行文字。

.发送(SUBMIT)按钮:点击此钮,将登记表所有信息送往服务器。

.复位(RESET)按钮:点击此钮,登记表各框回复初态。

.隐形(HIDDEN)框:该框可显示文字,但不能点击或修改。其用途是用户需在多个页面中进行登记选择,某些选项已在前面的页面中选定,在当前页面不允许再作变动。

.图形(IMAGE):用于活性地图和其它可点击图像。用户在地图上点击后,选定像素的座标值赋给指定变量,登记表立即自动返回给服务器。

如果单选或多选项较多,HTML还可提供菜单式选择形式,此时所有选择项列于标记对select〉和/select〉之间。

登记表信息的发送有3种方式:点击发送按钮;点击活性地图;在只有一个文本框的登记表中,只要简单地回车即可。

整个登记表的内容列于标记对FORM〉和/FORM〉之间,FORM带有2个必备参数,其格式为:

FORM ACTION="…“METHOD=…〉

其中,ACTION指示发送目的地的URL,METHOD指示发送采用的方法。HTML定义了两种发送方法:GET和POST,也就是登记表的各项信息如何以紧凑的文本形式表示,回送给服务器。

登记表信息送达后,服务器必须据此进行操作和处理,例如检查口令、核对信用卡、检索数据、回送页面等,这些处理和具体应用有关,并需和数据库等交互,因此必须在服务器机器中设置后台处理程序。由于Web服务器程序可由各单位自行开发,类型各不相同,要使后台程序在任何服务器上都能运行,就需要定义一个服务器和登记表后台处理程序之间的标准接口,通过这个接口,服务器将登记表信息传递给后台程序,后台程序则将处理后的输出信息返回服务器。这-标准接口就称之为CGI。它是WWW实现交互功能的主要工具。通常称遵守CGl标准的服务器侧后台可执行程序为CGl程序,规定放在站点的cgi-bin目录下。可以用任何编程语言书写。

 

万维网(WWW)(图10)

图2.46     CGI基本原理

图2.46示出CGI程序和服务器、客户的关系及相关接口。其基本工作过程可以下述例子予以说明。设某部门建立了一个Web网页的索引数据库,可根据关键字或主题进行检索,并想提供给Web用户使用。为此,必须编写一个CGI程序,能对数据库进行操作,且经CGI与Web服务器接口。该CGI程序的URL设为http://www.njupt.edu/cgi-bin/pagesearch,表示该程序名为pagesearch,位于站点www.njupt.edu的cgi-bin目录下。

当Web用户需使用该服务时,服务器送出登记表,用户填好表格后点击发送按钮,浏览器按(FORM〉中ACTION参数指明的URL建立TCP连接,然后调用MEIHOD参数规定的方法(通常为POST),将登记表中的各项信息经HTIP传给服务器。服务器识别这是对位于Cgi-bin目录中某页面文件的操作,就将该文件解释为可执行程序,启动该程序,并将客户输入的登记表信息传给此程序,同时设置必要的环境变量,如CONTENT-LENGIB说明输入字符串的长度。

然后,CGI程序调用库程序对输入信息进行语法分析,将其转换为更易使用的形式,并据此对数据库进行相应的操作。

最后,CGI根据操作结果生成输出信息,该信息可以是一个HTML页面,并将其返回服务器(服务器将其送交客户。由此实现Web的交互过程。

CCI定义了客户至服务器传送登记表数据的两种方法:URL中的查询行(即GET)方法和消息体(即POST)方法;定义了服务器向CGI程序传送数据的三种机制:命令行参数、标准输入(即消息体输入)和环境变量;还定义了CGI程序向服务器返回数据的两种方式:标准输出和透明输出,其中透明输出指的是CCI程序的输出直接送给客户,尤需服务器作任何处理。

2.4.6   Java

上述CGI机制虽然使Web具有双向交互功能,但是由于CGI程序位于远端,尚不可能提供快速交互能力。Sun公司提出的面向对象的Java语言用于WWW后,可以在Web页面中嵌入一个小的Java程序,称之为“应用小程序”(applet),其嵌入方法和图像嵌入相同。典型应用情况是在HI'ML描述中插入如下语句:

APPLET CODE=···WIDTH=…HEIGHT=···〉/APPLET〉其中,APPLET〉是新定义的HTML标记,参数CODE指明程序名,参数WIDTH和HEIGHT指明该程序缺省窗口的大小。当浏览器读到该语旬后,就从当前页面的网站下载该Java小程序,其后该程序就可在客户机上运行。如果该程序位于其它地点,则可在(APPLET〉标记中增设CODE-BASE参数,指明该程序所在的URL。

为了防止applet带入病毒,并使其具有适应不同机器的可携带性,applet被编译成字节代码形式。客户机中装有相应的解释器,ap­plet下载后采用解释方式运行,以确保安全。

采用Java机制有许多好处。首先,可有效地提高Web页面的交互功能。例如,页面可包含游戏画面,如象棋盘,而用Java编写的下棋程序已随该页面下载至客户机,这样用户可调用页面在本地和机器对奕。又如,用户要填写很复杂的所得税报税单,他不需要手工填写或寻找专用软件填写,只需要简单地点击税务局的主页,下载一个报税applet。该程序会询问一些问题,然后和用户的雇主、银行、股票经纪人交互,采集其工资、利息、红利信息,进行计算后填表,最后显示表格内容,用户确认后就可发送。

其次,在客户机上运行applet可以使Web页面增加动画和声音效果,而用户无需配备外置阅读程序。声音可以在页面下载时作为背景音乐播放,也可以在点击某画面时作为情景配音播放,播放ap­plet均随页面或点击调用下载。动画处理也与此类似。由于applet在本地运用,因此可以获得相当好的实时效果。

再次,基于Java的浏览器具有很好的扩展性。通常浏览器的基本功能是HTML解释器,然后通过配备内置模块,可执行规定的协议(如HTTP、FTP等)以及解码规定格式的声音和图像。如果某页面包含一种新的图像格式,如MPEG-2,该浏览器就无法显示该画面,用户必须安装一个合适的外置阅读程序。因此浏览器的功能完全取决于内置模块的配置,如图2.47(a)所示。采用Java后,浏览器的功能可动态扩展。在启动时,只是一个空的Java虚拟机,只含Java解释器,如图2.47(b)所示。其后,通过下载HTML和HTTP applet就能阅

万维网(WWW)(图11)

图2.47   基于Java的浏览器结构特点

读标准Web页面。如果某单位或个人构思一种新的格式设计其页面,浏览器可自动加载解释该格式的applet,甚至无需对该编码方式予先标准化。同样,如果某些应用需要采用特殊的协议,如银行交易需要专用的保密协议,也可通过applet动态下载该协议。这样,该浏览器运行一段时间后,就装备了各种协议和解码程序,如图2.47(c)所示。随时间推移,其功能不断扩展。

由于IP网络电话常常和Web应用结合在一起,用户需要在浏览时点击发出呼叫,或者在浏览时接受来话呼叫,这些都要求浏览器和服务器交换必要的信息,并执行某些判断和操作,因此CGI和Java技术在IP网络电话应用中具有重要的作用。

 

下一篇

I/ATM重叠模型

通信知识

I/ATM重叠模型

该项研究由ATM论坛和IETF分别进行,其基本思路是用宽带ATM网络作为IP网的底层传送网络,连接各IP主机、网桥和路由器,让各网点生成的IP数据流在ATM高速网络上传送,藉以提高IP网络的速度,因此可以统称为ATM上传送IP(IP over ATM)方案。在逻辑上可以认为整个网络由两层网络叠加而成:第三层(网络层)的IP网和第二层(链路层)的ATM网。由于这两个网类型完全不同,有各自独立的数据封 ...

相关内容

查看
目录