HTML时间轴-程序员宅基地

技术标签: 互联网  HTML发展史  


HTML全称:HyperText Markup Language

创始人:

Tim Berners-Lee(蒂姆·伯纳斯-李)【互联网之父W3C创始人HTML设计者



背景

1984年那个时候,世界上没有浏览器,也没有万维网(WWW),人们传递信息与资源交换也只能通过电话和邮件的方式进行。

在那个时候,就有上级提出能否将电脑进行联网,实现资源的共享,Tim Berners-Lee对此很感兴趣,努力之后,世界上第一款浏览器Enguire也因此诞生(用于数据的浏览与共享)

随后,Tim Berners-Lee仍在研究,并在1989年开发出了世界上第一个Web服务器与Web客户端,并将这项发明取名为world wide web,也就是我们现在所说的WWW万维网。HTML也因此诞生。

万维网(WWW)和互联网(Internet)并不是等同的两个事物,万维网可看做Internet的一个子集,其主要将存在于Internet上的数据具体化,便于显示与资源之间的交互。



HTML发展:

HTML1.0

1991年WWW在互联网上首次露面,也随之引起了巨大的轰动。1993年ITEF(因特网工作小组)发布了一个草案,那时没有HTML的官方文档,各种标签(Tag)也很混乱。

这个草案HTML tags可以算是HTML的第一个版本1.0。

1994年,Tim Berners-Lee创建了非盈利性的 W3C(world wild web consortium万维网联盟),并邀请了当时的155家互联网巨头(如Microsoft、IBM、APPLE等公司),致力使得WWW有一套更加标准化的协议,能够让资源按照这套标准的协议进行处理与共享。那个时候W3C的根本目的就是为了维护互联网的对等性,为了让它保持最起码的秩序。

HTML2.0

1995年,HTML2.0发布。

HTML3.2

1996年,由Tim Berners-Lee组织的W3C对HTML语言进行规范化,HTML3.2发布。

HTML4.0

1997年发布,W3C推荐标准。

HTML4.01(小幅度改进)

1999年,HTML4.01发布,同一年,W3C对HTML的未来做了展望。他们认为HTML存在一些缺陷,例如HTML的形式与内容无法分离、标记单一等等,前途不是很光明。于是W3C转向语言更加规范的XML,以便于弥补HTML的不足(XML全称Extensible Markup Language可拓展标记语言),但是从1991年HTML在互联网上出现到1999年这个时候已经过去8年了,全世界已经有成千上万的网页经由HTML编写,突然间更改一种语言是不现实的,故W3C只能放慢脚步,开始了HTML到XML的过渡。

于是也就出现了XHTML。

XHTML1.0

2000年发布,XHTML1.0与HTML4.01内容是一样的,但是XHTML使用了新的语法规则:

规定了所有元素、属性必须使用小写字母,属性值必须加引号,规定每个标签都必须有与之对应的结束标签。

与这些规则相比起来HTML4.01的语法就显得很松散。

XHTML1.1

XHTML1.1于2001年发布,在最开始W3C最终的目的就是为了使得HTML完全标准化,该版本的XHTML强制性的规定了文档必须标注为xml而不是html。

然而很多浏览器并不能很好的解析XML格式的文档,W3C这一步似乎走的太快了。

XTML2.0

紧随XHTML1.1之后,XHTML2.0也随之发布,XHTML1.1那个时候浏览器不能解析XML文档的问题还没有得到很好的处理,这个版本又有意不再兼容已有的HTML各个版本。

开发人员、浏览器厂商也便渐渐放弃了xml,也许是xml太过于规范脱离了实际,又或许是因为HTML的生态圈真的太大了。

2004年,各大浏览器厂商也相继脱离了W3C,成立了新的小组WHATWG(超文本应用技术工作组world hypertext application technique work group)开始对HTML进行修缮,开始了向HTML5之路的进军。

XHTML生态环境渐渐破碎,2006年,XTML2没有实质性进展。Tim Berners-Lee反思,决定重组HTML工作组。

HTML5.0

2007年,W3C工作组重建,在WHATWG的基础上继续研究,规范也交付给WHATWG来制定。

因此,也就出现了现如今的"一种格式,两个版本(HTML/XHTML)"的局面,但随着HTML5的到来,一种更加简洁的doctype(<!DOCTYPE html>)也逐渐运用到各大网站。

2009年,W3C也宣布停止XHTML2的研究工作。

HTML5是目前最新的HTML规范,也已经被W3C接纳。截止目前为止,HTML5标准也已经逐渐被各大网站广泛运用。

 

【End】

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42292831/article/details/88624886

智能推荐

usb复合设备 linux,使用STM32CubeMX编写USB复合设备-程序员宅基地

文章浏览阅读729次。其实很简单搞了好久,怪ST呗,既没做到可读性增强,又搞到复杂了.目的先做一个CDC+MSC复合,就像STLink V2-1一样.首先生成一个CDC工程并测试.再用同样方法生成MSC,但是不要覆盖当前工程.因为木有分区和很多逻辑没实现,所以借助工具看看.开始合并了,把CDC内容挪过来.新建两个文件.添加文件到Keil.Keil的Include还要设置.然后编译测试,当然这个时候是不能用的.修改CDC..._usbd_composite

YOTTA企业云盘之管理机制_公司云盘试用规范-程序员宅基地

文章浏览阅读154次。大数据时代,企业文件管理成为政企单位用户日益增长的刚性需求。企业文件缺乏统一规范管理,积累的文件就无法得到良好利用,乃至于有文件丢失、数据泄露等问题发生。数据安全,成为无法回避的话题。YOTTA企业云盘的出现从根本上改变了这一局面。伴随着YOTTA企业云盘的上线,“将企业文件升级为数据资产”的理念带来了兼顾内外的数据安全管理机制。可以剖析出企业云盘保障文档安全的原理。传统的办公方式在无形中将企业文件碎片化分散存储在各个员工的电脑上,会因文件保存不当而造成丢失。YOTTA企业云盘作为非结构化数据共享平台,_公司云盘试用规范

读取android手机设置的参数 (getprop )_gsm.sim.state-程序员宅基地

文章浏览阅读1.5w次。adb shell getprop > prop.txt手头的一个手机读出的值:[af.fast_track_multiplier]: [1][audio.dolby.ds2.enabled]: [false][audio.dolby.ds2.hardbypass]: [false][audio.offload.buffer.size.kb]: [32][audio.off_gsm.sim.state

英语写作中“解决”solve、address 、tackle 、settle、fix等的用法_address解决的意思_IT英语写作研习社的博客-程序员宅基地

文章浏览阅读1.5k次。二、address是正式且高频的词汇,应用很广,例如:to address a(an) (the) problem/issue/question/difficulty/concern/challenge/obstacle/failure/weakness/mistake/consequence/conflict /risk/decline/crisis ……现在它们也常用于to resolve/settle a problem/issue /difficulty/challenge/。_address解决的意思

Git 小乌龟安装配置_git 小乌龟配置-程序员宅基地

文章浏览阅读5.2k次。**一.windows下安装git**首先下载git for windows客户端https://git-scm.com/download/安装过程直接一路 next 就 ok 了截图就不一一贴了安装完成再桌面右键即可出现以下图标**二.安装tortoise git (小乌龟git)**下载地址:http://download.tortoisegit.org/tgit/ ..._git 小乌龟配置

使用最新的log4cplus(1.1.1)输出多个自定义日志文件,隔离不同的 log 文件输出_log4cplus连续输出多个信息-程序员宅基地

文章浏览阅读7.9k次。//APP 和 APP_DAILY 共用了一个 logger配置static Logger APP = Logger::getInstance(LOG4CPLUS_TEXT("APPfilelogger.APP"));static Logger APP_DAILY = Logger::getInstance(LOG4CPLUS_TEXT("APPfilelogger.APP_DAILY"));//SYS,ACC 是独立的 logger 配置,这样 SYS,ACC,APP(APP_DAILY) 分别属_log4cplus连续输出多个信息

随便推点

Unity本地化数据处理_unity数据处理-程序员宅基地

文章浏览阅读888次,点赞2次,收藏4次。Unity本地化数据处理 unity开发中,我们经常会遇到一些数据需要暂时保存起来,以便下次程序开始时继续使用,这时我们会用到PlayerPrefs数据处理,这里拿我前面开发登录账号的文章举例子说一下,那时开发我们用到的是将用户的信息写入文件中进行保存,需要的时候再读取出来,更改的时候也要读取对应的数据..._unity数据处理

使用 Java 对 Linux 下文件编码格式进行批量转换-程序员宅基地

文章浏览阅读3.6k次。使用 Java 对 Linux 下文件编码格式进行批量转换 源码下载 测试使用说明: 1。将 字符集编码格式为 GB2312 的文件 test0.java,test1.java,test2.java 放在 /home/defonds/tmp/test 目录下(test0.java,test1.java,test2.java

Mybatis的事务控制_mybatisplus查询走事务吗-程序员宅基地

文章浏览阅读457次。Mybatis的事务控制1.JDBC中事务的回顾在JDBC中我们可以通过手动方式将事务的提交改为手动方式,通过setAutoCommit()方法就可以调整。通过JDK文档,我们找到该方法如下:那么我们的Mybatis框架因为是对JDBC的封装,所以Mybatis框架的事务控制方式,本身也是用JDBC的setAutoCommit()方法来设置事务提交方式的。2.Mybatis中事务提交方式Mybatis中事务的提交方式,本质上就是调用JDBC的setAutoCommit()来实现事务控制。我们_mybatisplus查询走事务吗

iOS开发-Object-C Block的实现方式-程序员宅基地

文章浏览阅读396次。前言:我们可以把Block当作一个闭包函数,它可以访问外部变量和局部变量,但默认是不可以修改外部变量。你可以使用它来做回调方法,比起使用代理(Delegate)会更加直观。顺带一提,苹果很多的接口(API)都使用了Block。 一、Block的基本定义Block的基本写法(也是详细写法):returnType (^blockName)(params) = ^returnT

MySQL数据库总结_mysql数据库期末总结-程序员宅基地

文章浏览阅读794次。SQL基本操作 基本操作:CRUD将SQL的基本操作根据操作对象进行分类,分为库操作,表(字段)操作,数据操作 库操作 对数据库的增删改查 创建数据库 基本语法 Creat database 数据库名字 [库选项]; 库选项:用来约束数据库,分为两项 字符集设定:charset/character set 具体字符集(数据_mysql数据库期末总结

数据库系统分析师考试大纲-程序员宅基地

文章浏览阅读123次。数据库系统工程师考试大纲2005-09-10 教育人生网 浏览:592 进入论坛>> 一、考试说明1、考试要求  (1)掌握计算机体系结构以及各主要部件的性能和基本工作原理;  (2)掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;  (3)熟练掌握常用数据结构和常用算法;  (4)熟悉软件工程和...