HTML发展简史

HTML版本 描述
HTML1.0~HTML2.0(1989~1991) 关于HTML需要知道的东西并不多,且页面不好看,不过至少已经支持超文本。没有人关心表现,几乎Web上的每一个人都有他们自己的“主页”。
HTML3(1995) 那时正经历漫长、残酷的“浏览器战争”。Netspace和Microsoft都在试图争霸世界。在这场战争中,每个浏览器公司都在不断增加自己的专用扩展包,试图保持领先,军备竞赛就此展开。不仅如此,那个时候,通常你必须写两个单独的Web页面:一个用于Netspace浏览器,另一个用于Internet Explorer。
HTML4(1998) 万维网协会(World Wide Web Consortium),又称为W3C,制定了一个计划:创建一个唯一的HTML“标准”,这个计划的关键是将HTML的结构和表现分解到两种语言,一种语言用于实现结构(HTML),另一种语言用于表现(CSS),另外要求获得最大利益的浏览器制造商采用这些标准。
HTML4.01(1999) HTML4.01在1999年闪亮登场,成为接下来十年中HTML的“必备”版本。4.01与4.0并没有太大变化,只是在一些方面做了些修补。
XHTML1.0(2001) 那时一个新兴事物开始引起所有人的注意,这个新兴事物就是XML。最后HTML和XML不情愿地结合在一起,XHTML1.0就此诞生。XHTML承诺,由于他的严格,再加上他提供的一些新方法,只要遵循这个标准, Web的所有争端将就此平息。唯一的问题是,大多数人们很讨厌XHTML。他们并不想要一种编写Web页面的新方法,只是希望改进HTML4.01已有的特性。Web开发人员对HTML的灵活性更感兴趣,而不是XHTML的严格性。另外,这些开发人员越来越希望把时间用来创建更像是引用的Web页面,而不只是文档。
HTML5(2009~) 由于这个版本支持HTML4.01标准的大部分特性,而且还提供了一些新特性,可以体现Web新的发展,所以HTML5得到了大家的欢迎。另外,基于一些新特性,如支持类似博客的元素、新的视频和图形功能,以及一大堆用来构建Web应用的功能,HTML5注定成为大家公认的标准。

我们找到了一些古老的HTML4.01和XHTML1.1页面。这些页面使用了一个doctype,放在HTML页面的最上面,告诉浏览器所使用的HTML版本。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

这里为浏览器指定了这个页面的文档类型。注意:这不是一个HTML元素,在开始的“<”后面有一个“!”,这说明它与众不同。

  • html:这表示这个<html>是页面中的根(第一个)元素。
  • PUBLIC:这表示HTML4.01标准是公共可用的。
  • “-//W3C//DTD HTML 4.01//EN”:这部分表示我们在使用HTML4.01版本,另外这个HTML标记用英语编写。
  • “http://www.w3.org/TR/html4/strict.dtd“:这指向一个文件,标识这个特定的标准。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

这仍然是一个HTML版本(结合XML的版本),这个对应XHTML1.1版本,另外它还有一个URL指向XHTML1.1的定义。

新的、改进的HTML5

现在我们很清楚原来的doctype相当复杂,版本号和丑陋的语法混杂在一起。不过随着HTML5的到来,doctype已经得到简化,所以现在我们要做的就是告诉浏览器我们在使用“HTML”,不用再担心特定的版本号或语言,也不同指向某个标准。实际上,当浏览器看到:

<!DOCTYPE html>

它就认为你在使用标准HTML。不再考虑版本号,也不考虑标准在什么位置,实际上HTML标准将变成一个“活的标准”,这意味着它会根据需要继续发展和变化,不过不再有固定的版本号。

HTML新的“活标准”

HTML不会再有版本6、7、8了,因为制定标准的人已经把这个规范变成一个活的标准,它会随着技术的发展形成相应的文档,所以不再有版本号,你甚至可以不再把它叫做HTML5,因为从现在开始它只是“HTML”。
这里,我们还须了解一个知识——向后兼容性(backwards compatibility)。向后兼容性表示我们可以继续向HTML增加新的内容,浏览器(最终)会支持这个新内容,不过它还会继续支持原来的内容。所以,我们今天写的HTML页面将会继续正常工作,甚至以后增加了新的特性之后也仍然能很好地工作。

问:上面我们提到了规范,那么它究竟是什么?
答:规范就是一个文档,指定了HTML标准是什么。也就是说,HTML中有哪些元素和属性等这个文档由万维网协会(World Wide Web Consortium,简称为W3C)维护。

增加一个<meta>指定字符编码

字符编码告诉浏览器页面中使用了哪一种字符。
字符编码为我们提供了一种方法,可以在计算机上表示某种语言中的所有字母、数字和其他符号。你可能知道这样一些编码,如ASCII,甚至莫尔斯码,还有很多其他的编码。幸运的是,如今标准已经统一为Unicode字符编码。采用Unicode,一种编码就可以表示所有语言。要为Web页面指定Unicode,需要在HTML中加一个<meta>标记,如下所示:

<meta charset="utf-8">
  • meta:表示我们要告诉浏览器关于页面的一些信息。
  • charset:就像其他HTML标记一样,<meta>标记也有一些属性,即在charset属性中指定字符编码。
  • utf-8:utf-8(有时也写作UTF-8)是Unicode编码系列中的一个编码(这个系列中还有很多其他编码)。Web页面中使用的就是“utf-8”。utf-8中的u表示Unicode,Unicode是很多常用软件应用和操作系统都支持的一个字符集,这也是Web选择的编码,因为它支持所有语言和多语种文档(即多种语言的文档),它还与ASCII兼容(ASCII是英语文档常用的一种编码)。

如果要是以前的Web开发人员,可能还看见过这样的<meta>标记:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8">

这是HTML4.01和更早版本中<meta>标记的格式。在HTML5中,可以直接写为<meta charset="utf-8">

注意:我们须使用utf-8编码来保存我们的文件。因为为服务器提供的文件的编码要与<meta>标记中指定的编码一致

HTML5与HTML4.01相比有哪些大的改进?

HTML5的好处有三方面:

  • 首先,HTML5中提供了一些新元素和属性,这些新元素和新属性很酷,另外一些可以帮助你编写更好的页面。
  • 其次,它有很多新特性,允许Web开发人员用HTML5创建Web应用。Web应用就是表现得像应用一样的Web页面,而不只是静态Web页面。
  • 最后,HTML5规范比HTML以前的版本健壮得多。

HTML简明指南

在这个简明指南中,我们把编写合法HTML页面的做法汇集成一组常识性的原则:

  1. 一定要以<doctype>开头。
    每个页面都要从一个doctype开始,这样能让浏览器顺利开展工作。任何时候都要使用<!DOCTYPE html>,除非你确实在写HTML4.01或XHTML。
  2. <html>元素:不能没有它。
    紧接着doctype,<html>元素必须是Web页面的最顶层元素或根元素。所以,在doctype后面,由<html>标记开始你的页面,</html>标记结束页面,页面中的所有其他内容都嵌套在这个元素中。
  3. 记住,要使用<head><body>编写更好的HTML。
    只有<head><body>元素能直接放在<html>元素中。这说明,所有其他元素都必须放在<head><body>元素中。没有例外!
  4. <head>中包含一个<meta charset="utf-8">标记。浏览器会感谢你的,用户在你的博客上阅读世界各地用户发表的评论时,也会因为你指定了正确的字符编码而感谢你。
  5. 没有<title><head>算什么?
    一定要在<head>元素中包含一个<title>元素。这时雷打不动的原则。如果没有做到,则会得到不符合标准的HTML。只能在<head>元素中放置<title><meta><style>元素。
  6. 嵌套某些元素时要当心。
    在这里提供的原则中,嵌套规则相当灵活。不过有一些情况是没有意义的。不要把<a>元素嵌在另一个<a>元素中,因为这样会让访问者很迷惑。另外,不允许在<img>等void元素中嵌套其他内联元素。
  7. 检查属性!
    有些元素属性是必要的,有些则是可选的。例如,如果<img>元素没有src属性,就没有什么意义,现在你还知道了,alt属性也是必要的。在学习过程中,要逐渐熟悉各个元素的必要和可选属性。

第六章——严肃的HTML:标准及其他相关推荐

  1. C++Primer Plus笔记——第十六章 string类和标准模板库总结及程序清单

    目录 本章小结 程序清单 string类 16.1 str1.cpp                16.2 strfile.cpp            16.3 hangman.cpp      ...

  2. C++ Primer plus学习笔记-第十六章:string类和标准模板库

    第十六章:string类和标准模板库 前言:这一章已经相当靠近全书的后面部分了:这一章我们会深入探讨一些技术上的细节,比如string的具体构造函数,比如适用于string类的几个函数,比如我们还会介 ...

  3. 【ODX标准ISO22901-1】ASAM_AE_MCD-2_D_BS_ODX_V2-2-0.pdf第六章_UML(INTRODUCTIQNTO AND USE OF THE UML)

    正式而明确地定义ODX数据模型:统一建模语言(UML)的介绍和使用 来源:ASAM_AE_MCD-2_D_BS_ODX_V2-2-0.pdf 第六章:INTRODUCTIQNTO AND USE OF ...

  4. STM32固件库(标准外设库)入门学习 第六章TIM定时器(一)

    STM32固件库(标准外设库)入门学习 第六章TIM定时器(一) 文章目录 STM32固件库(标准外设库)入门学习 第六章TIM定时器(一) 前言 一.定时器类型 1 基本定时器 2 通用定时器 3 ...

  5. 选对池塘钓大鱼([美]雷恩·吉尔森)第六章 挑选一个好教练:选择老板

    第六章 挑选一个好教练:选择老板 我们也许无法重新选择父母,但是却有权选择自己的老板.无论是刚刚踏入社会的年轻人,还是对那些在职场摸爬滚打已久的中年人,重新选择工作时,可以参考这样一个标准:大公司选文 ...

  6. 数字图像处理——第六章 彩色图像处理

    数字图像处理--第六章 彩色图像处理 文章目录 数字图像处理--第六章 彩色图像处理 1 彩色模型 1.1 RGB彩色模型 1.2 CMY 和CMYK彩色模型 1.3 HSI彩色模型 2 伪彩色图像处 ...

  7. Knockout应用开发指南 第六章:加载或保存JSON数据

    原文:Knockout应用开发指南 第六章:加载或保存JSON数据 加载或保存JSON数据 Knockout可以实现很复杂的客户端交互,但是几乎所有的web应用程序都要和服务器端交换数据(至少为了本地 ...

  8. OpenGL ES着色器语言之语句和结构体(官方文档第六章)内建变量(官方文档第七、八章)...

    OpenGL ES着色器语言之语句和结构体(官方文档第六章) OpenGL ES着色器语言的程序块基本构成如下: 语句和声明 函数定义 选择(if-else) 迭代(for, while, do-wh ...

  9. Flask 教程 第十六章:全文搜索

    本文转载自:https://www.jianshu.com/p/56cfc972d372 这是Flask Mega-Tutorial系列的第十六部分,我将在其中为Microblog添加全文搜索功能. ...

最新文章

  1. 每日一皮:Bug 变 Feature !惊不惊喜,意不意外,刺不刺激!
  2. 软件测试面试之登录界面
  3. 【算法小积累】 - 提取非0数最右侧的1
  4. 浅谈Vue.js的优势
  5. javascript-引入-函数的定义与使用-多值传参-ao对象
  6. eclipse-阶段二-字体修改问题
  7. strpos、 strstr、 substr三个函数的对比讲解
  8. 太阳高度角计算题_【高考地理】地理计算题型汇总(附太阳高度角专题设计)...
  9. kubectl edit 与kubectl rollout
  10. 这个php兼职靠谱吗?一月3000?
  11. ubuntu 下安装搜狗
  12. SolidWorks添加焊件库的方法
  13. java数组 如何动态增加、查询、删除元素
  14. 热爱生命 --《年轻的潮》 汪国真
  15. 闭包函数到底是什么?有什么用?
  16. 在centos中安装rar压缩工具
  17. 7.26山东地炼成品油报价,下一轮油价调整时间
  18. ascii 在线转换地址
  19. 产品运营第一讲——认识职位
  20. cesium 删除primitive

热门文章

  1. 如何实现多存储文件传输,镭速提供多存储文件传输解决方案
  2. OA JBPM中的公文(发文、收文)流程
  3. [MoocPython课程]Turtlr库绘图之“富士山下”
  4. m1 mac 使用 obs + BlackHole 内录电脑音频
  5. pycharm科学模式
  6. 让Drupal pathauto 自动生成路径模块支持中文转拼音
  7. 2021-2027全球与中国热成型塑料容器市场现状及未来发展趋势
  8. 【大数据】07 安装软件
  9. ABAP的代码规范标准
  10. 我的新书《Flink大数据分析实战》出版啦