主讲人:李松峰
一、Web标准概述
- Web是World Wide Web(万维网)的简称。World Wide Web由Tim Berners-Lee在1989年发明。
- Web标准:是构成Web基础、运行和发展的一系列标准的总称。
- Web标准并不是由一家标准组织制定。
二、Web标准介绍
- IETF(互联网工程任务组):
-
HTTP/0.9:最简单的通信协议,只有GET方法;https://www.w3.org/Protocols/HTTP/AsImplemented.html
-
HTTP/1.0:一份参考文档,总结和记录浏览器有代表性的实现;https://tools.ietf.org/html/rfc1945
-
HTTP/1.1:对HTTP/1.0的改进,增加了持久连接,强制性的服务器头部,更好的缓存和分块编码;
https://tools.ietf.org/html/rfc2068
https://tools.ietf.org/html/rfc2616
https://tools.ietf.org/html/rfc7230 … https://tools.ietf.org/html/rfc7235 -
The Transport Layer Security (TLS) Protocol Version 1.3
https://tools.ietf.org/html/rfc8446 -
HTTP/2:占全球Web通信45%;https://tools.ietf.org/html/rfc7540
- ecma
1997年6月:ECMA-262 1st edition(110页)
1998年8月:ECMA-262 2nd edition
1999年12月:ECMA-262 3rd edition
ECMA-262 4th edition:不存在
2009年12月:ECMA-262 5th edition(252页)
2011年6月:ECMA-262 5.1 edition
2015年6月:ECMA-262 6th edition(566页)
2016年6月:ECMA-262 7th edition(556页)
2017年6月:ECMA-262 8th edition(885页)
2018年6月:ECMA-262 9th edition(805页)
2019年6月:ECMA-262.pdf(764页) - W3C
- CSS
- DOM
- Graphics
- HTML
- HTTP
- Performance
- Security
- Web API
1)BOM(Browser Object Model,浏览器对象模型)
HTML5规范中有一部分涵盖了BOM的主要内容,因为W3C希望将JavaScript在浏览器中最基础的部分标准化。 - window对象,也就是ECMAScript中定义的Global对象。网页中所有全局对象、变量和函数都暴露在这个对象上。
- location对象,通过location对象可以以编程方式操纵浏览器的导航系统。
- navigator对象,对象提供关于浏览器的信息。
- screen对象,保存着客户端显示器的信息。
- history对象,提供了操纵浏览器历史记录的能力。
2)DOM(Document Object Model,文档对象模型)是HTML和XML文档的编程接口。DOM表示由多层节点构成的文档,通过它开发者可以添加、删除和修改页面的各个部分。DOM现在是真正跨平台、语言无关的表示和操作网页的方式。 - DOM1(DOM Level 1)主要定义了HTML和XML文档的底层结构。
- DOM2(DOM Level 2)和DOM3(DOM Level 3)在这些结构之上加入更多交互能力,提供了更高级的XML特性。
- DOM2和DOM3是按照模块化的思路来制定标准的,每个模块之间有一定关联,但分别针对某个DOM子集。
DOM Core:在DOM1核心部分的基础上,为节点增加方法和属性。
DOM Views:定义基于样式信息的不同视图。
DOM Events:定义通过事件实现DOM文档交互。
DOM Style:定义以编程方式访问和修改CSS样式的接口。
DOM Traversal and Range:新增遍历DOM文档及选择文档内容的接口。
DOM HTML:在DOM1 HTML部分的基础上,增加属性、方法和新接口。
DOM Mutation Observers:定义基于DOM变化触发回调的接口。这个模块是DOM4级模块,用于取代Mutation Events。
- Whatwg
- HTML Living Standard:https://html.spec.whatwg.org/multipage/
- DOM Living Standard:https://dom.spec.whatwg.org/
- Encoding Living Standard:https://encoding.spec.whatwg.org/
- Fetch Living Standard:https://fetch.spec.whatwg.org/
- Stream Living Standard:https://streams.spec.whatwg.org/
- Console Living Standard:https://console.spec.whatwg.org/
- 更多背景:搜索“HTML5设计原理”