HTML和XMl超文本标记语言介绍

  超文本标记语言HTML是最基本的Web页面开发语言,到今天已经历了2.0、3.0、3.2和4.0版本,最新版本是4.01.HTML早期是WorldWideWebConsortium(简称W3C)从SGML(通用标记语言标准,ISO8879)中抽取部分技术而制定的标准,实际上是SGML的一个子集。HTML文件是标准的ASCII文本文件,通过一些“标签”字符串表明Web页面的静态组成结构,包括文字和图片的大小位置、背景色彩、表格的布局等内容。HTML语言的产生使网络世界变得丰富多彩,但是随着Internet应用的急剧增加,传统的Client/Server结构也向Browser/Server结构转移,HTML的局限性也暴露出来,即信息表现方式不能满足需求。虽然HtML经历了多次改造,从早期的完全静态方式到现在加入DHTML(动态HTML)技术的HTML4.0版本,但不论如何改进,HTML还是一种界面技术,它把数据和数据的表现形式混在一起,这使得分开两者变得相当困难。

  HTML本身有一个复杂的标签集,用户不能用自己的特定应用标签对其进行扩展,不能把数据简单地传送给客户端,让客户端自行进行进一一步的处理。事实上,HTML总是在服务器端产生,客户端只是一个显示机器。HTML只能用数据一种显示方式,如果想改变显示方式,则必须在服务器端重新产生这些数据和完整的HTML页,这样才能在客户端显示出来。如果数据和显示形式分离,就可以把数据下载到客户端,然后根据需要随意地选择这些数据的不同显示方式。

  为了弥补HTML的不足,W3C的成员又回到SGML中寻找答案。SGML是HTML的前身技术,早在1980年就成为国际标准,由于过于复杂,所以一直没有被广泛地采用。SGML与HTML不同,它允许用户扩展标签集合,允许用户建立一定的规则。SGML所产生的标签集合是用来描述信息段特征的,而HTML仅仅只是一个标签集合。但从今天来看,SGML的某些方面也已经落伍了,所以SGML开发者们制定了一个紧急修改SGML标准的方案,经过W3C成员激烈的讨论,一种修正简化的SGML出现了,称为XML(可扩展的标识语言)。1998年,W3C宣布了XML1.0的标准,与SGML500页的技术文档相比,XML标准相对简洁得多,说明文档只有30页左右。XML继承了SGML具有的可扩展性、结构性及可校验性,与HTML语言相比,改进主要在以下三方面。

  (1)可扩展性方面:HTML不允许用户定义自己的标识或属性,而在XML中,用户能够根据需要,自行定义新的标识及属性名,以便更好地从语义上修饰数据。

  (2)结构性方面:HTML不支持深层的结构描述,XML的文件结构嵌套可以复杂到任意程度,能表示面向对象的等级层次。

  (3)可校验性方面:HTML没有提供规范文件以支持应用软件对HTML文件进行结构校验;而XML文件可以包括一个语法描述,使应用程序可以对此文件进行结构确认。

  XML是一个很新的标准,广泛地应用还需要时间。要很好地浏览XML文档,客户端浏览器的版本至少是InternetExplorer5、Netscape6或Opera4.0等,为了照顾大多数浏览器,目前还不是过度到XML的时候。如果要使用XML,也应同时提供HTML和XML两种文档,这样可以使网站有更大覆盖面,同时在技术上也不落伍。另外,XML还需要解决若干标准问题,在此之前,XML还只能说是一种有潜力的语言而已。

  另一方面,为了解决HTML静态数据发布的不足,出现了许多服务器端的动态页面编程技术和语言。这种动态页面脚本被访问时,首先由服务器执行或解释执行,生成标准的HTML文档,然后将HTML文档发布出去。CGI(公共网关接口)是最传统的动态页面编程技术,早期运用在Unix系统中,后来作为一种Web服务器与外部程序之间进行通讯的标准,被广泛地使用,目前绝大多数Web服务器都支持CGI方式。CGI脚本可以用任何编译语言或者解释性语言Perl来编写,编译语言中一般使用C、C++。由于Perl语言简单易学、功能强大,是最常用的CGI编程语言。