您好,欢迎访问一九零五行业门户网

HTML4,HTML5,XHTML 之间有什么区别?

回复内容:我来从html的历史谈谈他们3者的区别。
在html的早期发展中,w3c成立之前,很多标准的制定都是在浏览器的开发者们互相讨论的情况下完成的,比如html 2.0, 3.2直到4.0, 4.01,这些标准大部分都是所谓的retro-spec,即先有实现后有标准。在这种情况下,html标准不是很规范,浏览器也对html页面中的错误相当宽容。这反过来又导致了html作者写出了大量的含有错误的html页面。据说,时至今日web上99%的页面都含有html错误。
w3c随后意识到了这个问题,并认为这是互联网的一个基础性问题,应该加以解决。为了规范html,w3c结合xml制定了xhtml 1.0标准,这个标准没有增加任何新的tag,只是按照xml的要求来规范html,并定义了一个新的mime type,application/xhtml+xml。w3c的初衷是对这个mime type浏览器要实行强错误检查,既如果页面有html错误,就要显示错误信息。但是由于已有的web页面中已经有了大量的错误,很多开发者拒绝使用新的mime type。w3c不得已,在xhtml 1.0的标准之后加了一个附录c,允许开发者使用xhtml语法来写页面,同时使用旧的mime type,application/html,来分发页面。这个旧的mime type不会触发浏览器的强错误检查。这就是我们今天看到的情况,很多网站宣称自己遵守xhtml 1.0标准,那只不过是说,他的页面中用了xhtml语法,但并不能保证完全没有错误。要验证xhtml有没有真正起效,需要查看web服务器使用哪种mime type来分发页面的。
w3c随后在xhtml 1.1中取消了附录c,即使用xhtml 1.1标准的页面必须用新的mime type来分发。于是这个标准并没有很多人采用。这种情况同样发生在尚未完成的xhtml 2.0身上,它要求强错误检查,于是没有人采用。xhtml的故事也告诉我们,有时候先有标准再来实现,是行不通的。
有了xhtml的教训,what working group和w3c在制定下一代html标准,也就是html5的时候,就将向后兼容作为了一个很重要的原则。html5确实引入了许多新的特性,但是它最重要的一个特性是,不会break已有的网页。你可以将任何已有的网页的第一行改成,它就成也一个html5页面,并且可以照样在浏览器里正常的展示。
html4是目前互联网上使用最广泛的标准,成于1999年左右。
html5是很有野心的下一代标准,因为4之后已经有十几年的时间了,这十几年也是互联网飞速发展的时期,因此很多应用场景,4不支持或者使用基于4的技术体系实现起来很费劲,需要插件,walkaround等等。
html5已经远远超越了标记语言的范畴,其背后是一组技术集。
最基本的就是更富语义的标签,以便更好的被机器识别;
canvas+webgl等技术,实现无插件的动画以及图像、图形处理能力;
本地存储,可实现offline应用;
websocket,一改http的纯pull模型,实现数据推送的梦想;
mathml,svg等,支持更加丰富的render;
我觉得html5的好处还在于对跨浏览器方面的推动,因为4时代,由于语言本身的弱,导致了浏览器各自为政扩展开发了很多特性,导致浏览器之间不兼容,跨浏览器的应用开发是一件十分令人头疼的事情。
html5是标准与实现同步在推,w3c声明,将来标准完成之时,就至少会有两种浏览器能够完全支持标准,目前来看,情况还比较乐观。
xhtml是html的规范版,个人是这么理解的,目前提的少了。对于html,有广义和狭义的理解。广义的一般把css和js也算进来了,狭义的就是纯html标签。提问者既然把xhtml也拉进来了,应该是从狭义的方面理解。
首先,xhtml可以理解为html+xml,就是用xml的语法来规范html。其实早期html语言是比较散漫的,像1234532是可以被游览器正常解析的。后来就引入的xhtml和相应的dtd,来将html语言规范化,结构化。后来还出现了xhtml 2,不过事实证明是个眼子。
这里有个早期的漫画,可以帮助理解两者关系:http://www.cnbeta.com/articles/89882.htm
至于html4和html5,其实从标签的角度来说,就是向着更加语义化的方面演进。像媒体比较热炒的canvas标签,也主要是从js的角度去处理,作为一般的前端开发,接触得应该不会很多。
ps:有没有觉得canvas很像以前dos时期的小乌龟……o(--)o
还可以维基百科至今不能理解。html4和5的区别就是4头文件不同就可以写html5了?
其它类似信息

推荐信息