Heim  >  Artikel  >  Web-Frontend  >  HTML4,HTML5,XHTML 之间有什么区别?

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

WBOY
WBOYOriginal
2016-06-07 08:42:211368Durchsuche

回复内容:

我来从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,不过事实证明是个眼子。
这里有个早期的漫画,可以帮助理解两者关系:cnbeta.com/articles/898
至于html4和html5,其实从标签的角度来说,就是向着更加语义化的方面演进。像媒体比较热炒的canvas标签,也主要是从js的角度去处理,作为一般的前端开发,接触得应该不会很多。
ps:有没有觉得canvas很像以前dos时期的小乌龟……o(-"-)o

还可以维基百科 至今不能理解。HTML4和5的区别就是4头文件不同就可以写HTML5了?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn