Web标准是Web开发的基础,要保证Web应用能够在不同的环境下可靠运行,我们开发的应用必须要符合相关的标准。根据Web标准的性质可将Web标准分为结构标准、表现标准与行为标准三部分。
1.1.1 结构标准
结构用于对网页元素进行整理和分类,由Web结构标准语言组成,主要包括HTML、XML、XHTML等。
HTML:SGML(标准通用标记语言)子集,版本经过1.0、2.0、3.2、4.0、4.0发展,到2014年W3C(World Wide Web Consortium,万维网联盟)发布HTML 5.0的最终版本。
XML:SGML子集。HTML无法描述数据、可读性差、搜索时间长等。1998年2月10日,W3C公布XML 1.0标准。XML最初的设计目的是为了EDI(Electronic Data Interchange,电子数据交换)。与XML相关的技术还包括XSLT、XML Schema、XPath等。一些组织和个人利用XML开了一些基于XML的其他标记语言,如数学标记语言MathML、化学标记语言CML等。
XHTML:基于XML实现与HTML类似的表现方式,语法比HTML更严谨。XHTML 1.0在2000年1月26日成为W3C的推荐标准。XHTML1.1为XHTML最后的独立标准,2.0止于草案阶段。XHTML5则是属于HTML5标准的一部分。
1.1.2 表现标准
表现用于设置网页元素的版式、颜色、大小等外观样式等。主要包括CSS (Cascading style Sheets)、SVG、MathML(数学标记语言)等。
CSS:1994年哈坤·利提出了CSS的最初建议,同年W3C组织成立,CSS创作团队全部成为W3C工作小组并全力制定CSS标准。12月份,层叠样式表的第一份(CSS Level 1)正式标准被W3C作为推荐标准发布。1998年5月出版CSS Level 2.。2001年5月23日W3C完成了CSS3的工作草案。从CSS3开始,CSS规范就被拆成众多模块(module)单独进行升级,或者将新需求作为一个新模块来立项并进行标准化。。
SVG:采用XML语言定义。是一种开放标准的矢量图形语言,用户可以直接用代码来描绘图像,可以用任何文字处理工具打开SVG图像,通过改变部分代码来使图像具有交互功能,并可以随时插入到HTML中通过浏览器来观看。2003年1月,SVG 1.1 被确立为 W3C 标准。
MathML:采用XML语言定义。它是由W3C的数学工作组提出的。语言规格1.01版于1999年7月公布,2.0版于2001年2月出现。W3C的数学工作组在2003年10月发布了MathML 2.0的第二版, 之后又在2010年10月发布了MathML 3.0。
1.1.3 行为标准
行为是指网页模型的定义及交互的编写。行为标准主要包括文档对象模型(W3C DOM)和ECMAScript等。
W3C DOM:W3C的标准,定义了访问HTML和XML文档的标准。W3C将DOM分成三个级别:
l DOM Level1:1998年10月成为W3C提议,由DOM模型核心与DOM模型HTML两个模块组成。DOM模型核心能映射以XML为基础的文档结构,允许获取和操作文档的任意部分。DOM模型HTML通过添加HTML专用对象与函数对DOM模型核心进行扩展。
l DOM Level2:对原有DOM模型的扩展,通过对象接口增加了对鼠标和用户界面事件、范围、遍历和CSS的支持。同时可支持XML命名空间。
l DOM Level3: 引入统一方式载入和保存文档和文档验证方法对DOM模型进行进一步扩展,DOM模型3包含一个名为“DOM模型载入与保存”的新模块,DOM模型核心扩展后可支持XML1.0的所有内容,包扩XMLInfoset、XPath、和XMLBase。
DOM与其他标准/模块的依赖关系如下图所示:
DOM Level
ECMAScript:是由ECMA国际(前身为欧洲计算机制造商协会,European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言。1998年6月,ECMAScript 2.0版发布。1999年12月,ECMAScript 3.0版发布,成为JavaScript的通行标准, 2015年6月17日,ECMAScript 6发布正式版本。ECMAScript实际上是一种脚本在语法和语义上的标准。在JavaScript,JScript和ActionScript中声明变量,操作数组等语法完全一样,因为它们都是ECMAScript。但是在操作浏览器对象等方面又有各自独特的方法,这些都是各自语言的扩展。实际上JavaScript是由ECMAScript,DOM和BOM三者组成的。