HTML贯穿了整个互联网的发展史,就目前来看,它还会继续下去,因为HTTPHTTPS协议在互联网中传输的主要内容,也是用户浏览的最终页面管理内容,接下来就来扒一扒HTML的前世今生。

历史舞台已交给HTML5,相信很多人概念里也只剩H5了,HTML已经被升级改进多次,相信以后还会不断革新。(就像,从哲学的观点看,三年后的你,已经完全换了个人,因为整个身体从细胞到细菌都不是原来的那个了。)

HTML诞生

1980年,物理学家蒂姆·伯纳斯-李在欧洲核子研究中心(CERN)在承包工程期间,为使CERN的研究人员使用并共享文档,他提出并创建原型系统ENQUIRE。1989年,伯纳斯-李在一份备忘录中提出一个基于互联网的超文本系统。他规定HTML并在1990年底写出浏览器和服务器软件。同年,伯纳斯-李与CERN的数据系统工程师罗伯特·卡里奥联合为项目申请资助,但未被CERN正式批准。在他的个人笔记中伯纳斯-李列举“一些使用超文本的领域”,并把百科全书列为首位。

1989年,Tim berners-lee 在一份备忘录中提出了一个基于互联网的超文本系统。并在1990年以超文本语言HTM为基础在NeXT电脑上发明了最原始的浏览器和服务器软件,世界上第一个Web服务器与Web客户端诞生了,并将这项发明取名为world wide web,也就是我们现在所说的WWW万维网。接下来就是,HTML从此此走上正轨。Tim berners-lee被称为WEB世界的奠基人,也不为过。

HTML成长

1993年中期互联网工程任务组(IETF)发布首个HTML规范,之后 HTML 2(1995年)-->HTML 3(1997年1月)-->HTML 4(1997年1月12月)-->HTML 5(2014年10月)。之间有非常多的小版本迭代。为了有统一的规范,万维网联盟(World Wide Web Consortium),也就是我们常说的W3C,因为标签用法混乱等原因,做定制规范,2008年发布了HTML5,2014年10月,W3C组织宣布HTML5标准规范定稿。

HTML发展

HTML经过93年以因特网草案形式发布,一直发展到4.0版本(99年),最后万维网掌握了HTML规范控制权。

在4个版本经过快速发展后,业界普遍认为HTML已经穷头陌路,对web标准转移到了html和xhtml上,html则被放到了次要位置。

存在即合理,html的强大市场占有率体现了其强大的优势,主要网站依旧是基于html的,为支持新的web标准,并克服自身的缺陷,html迫切需要新功能新规范。

于是一拨人在04年成立了whatwg(超文本应用技术组)组织,并创立了HTML5规范,并开发了很多新功能,web2.0也是由此时提出静态网站逐步向多特性的动态网站发展。

06年w3c看见了html5的甜头,又插了进来,准备分一杯羹,于是08年发布了html5草案,09年xhtml2工作组停工。

10年由于html5解决了非常实际的问题,各大浏览器厂商为了市场布局,纷纷开始支持html5新功能,于是html5正式进入历史舞台。

HTML今生

HTML5建立起了它自己的一套开放、多媒体富互联网应用程序。拥有技术管辖权、万维网联盟的首席执行官JeffJaffe称:"HTML5很快被人们所接受,成为了今天在浏览器和网站上频繁使用的HTML版本。"

HTML5特点:

1)网络标准统一、HTML5本身是由W3C推荐出来的。

2)多设备、跨平台

3)即时更新。

4)提高可用性和改进用户的友好体验;

5)有几个新的标签,这将有助于开发人员定义重要的内容;

6)可以给站点带来更多的多媒体元素(视频和音频);

7)可以很好的替代Flash和Silverlight;

8)涉及到网站的抓取和索引的时候,对于SEO很友好;

9)被大量应用于移动应用程序和游戏。

HTML5缺点:

1)安全:像之前Firefox4的web socket和透明代理的实现存在严重的安全问题,同时web storage、web socket这样的功能很容易被黑客利用,来盗取用户的信息和资料。

2)完善性:许多特性各浏览器的支持程度也不一样。

3)技术门槛:HTML5简化开发者工作的同时代表了有许多新的属性和API需要开发者学习,像web worker、web socket、web storage 等新特性,后台甚至浏览器原理的知识,机遇的同时也是巨大的挑战

4)性能:某些平台上的引擎问题导致HTML5性能低下。

5)浏览器兼容性:最大缺点,IE9以下浏览器几乎全军覆没。

HTML5 新增的表单属性

placehoder 属性,简短的提示在用户输入值前会显示在输入域上。即我们常见的输入框默认提示,在用户输入后消失。

required  属性,是一个 boolean 属性。要求填写的输入域不能为空

pattern 属性,描述了一个正则表达式用于验证<input> 元素的值。

min 和 max 属性,设置元素最小值与最大值。

step 属性,为输入域规定合法的数字间隔。

height 和 width 属性,用于 image 类型的 <input> 标签的图像高度和宽度。

autofocus 属性,是一个 boolean 属性。规定在页面加载时,域自动地获得焦点。

multiple 属性 ,是一个 boolean 属性。规定<input> 元素中可选择多个值。

HTML前世今生的更多相关文章

  1. 【调侃】IOC前世今生

    前些天,参与了公司内部小组的一次技术交流,主要是针对<IOC与AOP>,本着学而时习之的态度及积极分享的精神,我就结合一个小故事来初浅地剖析一下我眼中的“IOC前世今生”,以方便初学者能更 ...

  2. [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性

    回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...

  3. docker4dotnet #1 – 前世今生 & 世界你好

    作为一名.NET Developer,这几年看着docker的流行实在是有些眼馋.可惜的是,Docker是基于Linux环境的,眼瞧着那些 java, python, node.js, go 甚至连p ...

  4. Atitit 智能云网络摄像机的前世今生与历史 优点  密码默认888888

    Atitit 智能云网络摄像机的前世今生与历史 优点  密码默认888888 用户名admin  密码aaaaaa 网络摄像机是一种结合传统摄像机与网络技术所产生的新一代摄像机,它可以将影像通过网络传 ...

  5. 阿里开源消息中间件RocketMQ的前世今生-转自阿里中间件

    昨天,我们将分布式消息中间件RocketMQ捐赠给了开源软件基金会Apache. 孵化成功后,RocketMQ或将成为国内首个互联网中间件在Apache上的顶级项目. 消息一出,本以为群众的反应是这样 ...

  6. JavaScript的前世今生

    和CSS一样,JavaScript在各浏览器下并非完全一致,它所带来的兼容性问题时常困扰着我们,以至于现在“能否处理流行浏览器的兼容性问题”成为了检验一个程序员是否合格的标准之一.了解JavaScri ...

  7. 主成分分析PCA的前世今生

    这篇博客会以攻略形式介绍PCA在前世今生. 其实,主成分分析知识一种分析算法,他的前生:应用场景:后世:输出结果的去向,在网上的博客都没有详细的提示.这里,我将从应用场景开始,介绍到得出PCA结果后, ...

  8. SpringMVC源码剖析(二)- DispatcherServlet的前世今生

    上一篇文章<SpringMVC源码剖析(一)- 从抽象和接口说起>中,我介绍了一次典型的SpringMVC请求处理过程中,相继粉墨登场的各种核心类和接口.我刻意忽略了源码中的处理细节,只列 ...

  9. (转)word2vec前世今生

    word2vec 前世今生 2013年,Google开源了一款用于词向量计算的工具——word2vec,引起了工业界和学术界的关注.首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效 ...

  10. Spring学习总结(2)——Spring IOC的前世今生

    前些天,参与了公司内部小组的一次技术交流,主要是针对<IOC与AOP>,本着学而时习之的态度及积极分享的精神,我就结合一个小故事来初浅地剖析一下我眼中的“IOC前世今生”,以方便初学者能更 ...

随机推荐

  1. 类属性和__init__的实例属性有何区别?进来了解一下吧

    真的是随笔写的一篇,以防日后记忆模糊,特此记录.大佬勿喷 疑问:类属性和实例属性有何区别? 正题,代码如下 age为People类的属性(称为类属性) name是在__init__方法下,在创建实例对 ...

  2. web项目中各工具的作用

    一.HTML:用于搭建基础网页,展示网页的内容 Hyper Text Markup Language 超文本标记语言 ,是最基础的网页开发语言. * 超文本: * 超文本是用超链接的方法,将各种不同空 ...

  3. img图片默认的3px空白缝隙解决方法

    img{display:block;} 表示将img标签,即图片标签由行内元素变成一个块级元素. 一般在制作轮播网页或使用到img图片时,我们都会对图片设置img{display:bolck}.因为i ...

  4. Flutter 中不得不会的 mixin

    mixin 是 Dart 中非常重要的概念,对于未接触过此概念的Coder来说尤其重要,最近看源码的时候,由于对 mixin 不熟悉导致理解出现偏差,走了很多弯路,所以这篇文章介绍一下 mixin 概 ...

  5. 原生JS快速实现拖放

    原生 JS 快速实现拖放 拖放是很常见的一种交互效果,很多时候我们都会借助于第三方的控件来实现,其实用原生 js 实现起来也非常的方便.接下来我们就用原生 js 和 css 快速实现拖放效果 html ...

  6. MHA架构搭建中遇到的问题

    1. 两个包:mha4mysql-manager-0.56-0.el6.noarch.rpm 和 mha4mysql-node-0.56-0.el6.norch.rpm 地址:https://code ...

  7. 剑指 Offer 40. 最小的k个数 + 优先队列 + 堆 + 快速排序

    剑指 Offer 40. 最小的k个数 Offer_40 题目描述 解法一:排序后取前k个数 /** * 题目描述:输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7. ...

  8. PAT-1167(Cartesian Tree)根据中序遍历序列重建最小堆

    Cartesian Tree PAT-1167 一开始我使用数组进行存储,但是这样可能会导致无法开足够大的数组,因为树如果是链表状的则无法开这么大的数组(虽然结点很少). 正确的解法还是需要建树,使用 ...

  9. 01_AlexNet

    torch.topk 功能:找出前k大的数据,及其索引号 input:张量 k:决定选取k个值,k=1是为top-1 dim:索引维度 返回: Tensor:前k大的值 LongTensor:前k大的 ...

  10. Python爬虫系统化学习(5)

    Python爬虫系统化学习(5) 多线程爬虫,在之前的网络编程中,我学习过多线程socket进行单服务器对多客户端的连接,通过使用多线程编程,可以大大提升爬虫的效率. Python多线程爬虫主要由三部 ...