网络协议对比:HTML和XHTML有什么区别

HTML和XHTML都是编写网页的语言。HTML 是基于SGML的,而 XHTML 是基于XML的。它们就像同一枚硬币的两面。XHTML 源自 HTML,以符合 XML 标准。因此,与 HTML 相比,XHTML 是严格的,不允许用户在编码​​和结构上犯错误。

开发 XHTML 的原因是复杂的浏览器特定标签。用 HTML 编码的页面在不同的浏览器中显示不同。

文本标记语言 XHTML
简介(来自维基百科) HTML 或超文本标记语言是用于创建网页和其他可在网络浏览器中显示的信息的主要标记语言。 XHTML(可扩展超文本标记语言)是 XML 标记语言系列,它镜像或扩展了广泛使用的超文本标记语言 (HTML)(编写网页的语言)的版本。
文件扩展名 .html、.htm .xhtml、.xht、.xml、.html、.htm
网络媒体类型 文本/html 应用程序/xhtml+xml
由开发 W3C 和 WHATWG 万维网联盟
格式类型 文档文件格式 标记语言
延伸自 SGML XML、HTML
代表 超文本标记语言 可扩展超文本标记语言
应用 标准通用标记语言(SGML)的应用。 XML的应用
功能 网页是用 HTML 编写的。 HTML 的扩展版本,更严格且基于 XML。
自然 灵活的框架需要宽松的 HTML 特定解析器。 XML 的限制性子集,需要使用标准 XML 解析器进行解析。
起源 由蒂姆·伯纳斯·李于 1987 年提出。 2000 年万维网联盟推荐。
版本 HTML 2、HTML 3.2、HTML 4.0、HTML 5。 XHTML 1、XHTML 1.1、XHTML 2、XHTML 5。

HTML 和 XHTML 概述

HTML是网页的主要标记语言。HTML 通过表示标题、列表、链接、引号等文本的结构语义来创建结构化文档。它允许嵌入图像和对象以创建交互式表单。它被写为尖括号包围的标签 – 例如,<html>。还可以加载 JavaScript等语言的脚本。

XHTML是 XML 语言系列,它扩展或镜像 HTML 版本。它不允许省略任何标签或使用属性最小化。XHTML 要求每个开始标签都有一个结束标签,并且所有嵌套标签必须以正确的顺序结束。例如,虽然<br>在 HTML 中有效,但需要<br />用 XHTML 编写。网络协议对比:HTML和XHTML有什么区别

HTML 与 XHTML 文档的特点

HTML 文档由具有三个组件的元素组成 – 一对元素标签 – 开始标签、结束标签;标签和实际、文本和图形内容中给出的元素属性。HTML 元素是位于标签之间并包含标签的所有内容。(标签是括在尖括号内的关键字)。

XHTML 文档只有一个根元素。所有元素(包括变量)都必须是小写,并且分配的值必须用引号括起来,封闭和嵌套以便被识别。这是 XHTML 中的强制要求,与 HTML 不同,HTML 中它是可选的。DOCTYPE 的声明将确定文档遵循的规则。

除了文档的不同开头声明之外,HTML 4.01 和 XHTML 1.0 文档(在每个相应的 DTD 中)之间的差异很大程度上是语法上的。HTML 的底层语法允许使用许多 XHTML 所不具备的快捷方式,例如带有可选开始或结束标记的元素,甚至是不能有结束标记的 EMPTY 元素。相比之下,XHTML 要求所有元素都具有开始标记或结束标记。然而,XHTML 还引入了一种新的快捷方式:通过在标签末尾添加斜线,可以在同一标签内打开和关闭 XHTML 标签,如下所示:<br/>。HTML 4.01 的 SGML 声明中未使用此简写,它的引入可能会使不熟悉此新约定的早期软件感到困惑。解决此问题的方法是在关闭标签之前包含一个空格,例如:<br />

XHTML 与 HTML 规范

HTML 和 XHTML 密切相关,因此可以一起记录。HTML 4.01 和 XHTML 1.0 都有三个子规范——严格、宽松和框架集。文档的开头声明的不同之处在于 HTML 和 XHTML。其他差异是语法上的。HTML 允许使用快捷方式,例如带有可选标签的元素、没有结束标签的空元素。XHTML 对于开始和结束标签非常严格。XHTML 使用内置语言定义功能属性。XML 的所有语法要求都包含在格式良好的 XHTML 文档中。

但请注意,这些差异仅在 XHTML 文档用作 XML 应用程序时适用。也就是说,MIME 类型为 application/xhtml+xml、application/xml 或 text/xml。使用 MIME 类型 text/html 提供的 XHTML 文档必须被解析并解释为 HTML,因此 HTML 规则适用于这种情况。如果为使用 MIME 类型 text/html 提供服务的 XHTML 文档编写的样式表随后使用 MIME 类型 application/xhtml+xml 提供,则该文档可能无法按预期工作。有关 MIME 类型的更多信息,请务必阅读 MIME 类型。

当您将 XHTML 文档作为 text/html 提供时,这一点尤其重要。除非您意识到这些差异,否则如果文档作为真正的 XHTML 提供,您创建的样式表可能无法按预期工作。

本节其余部分中出现的术语“XHTML”和“XHTML 文档”是指使用 XML MIME 类型提供的 XHTML 标记。就浏览器而言,用作 text/html 的 XHTML 标记是 HTML 文档。

如何从 HTML 迁移到 XHTML

根据 W3C 的建议,可以遵循以下步骤将 HTML 迁移到 XHTML(XHTML 1.0 文档):

  • 在指定语言的元素上包含 xml:lang 和 lang 属性。
  • 对 HTML 中指定为空的元素使用空元素语法。
  • 在空元素标签中包含额外的空格:<html />
  • 为可以有内容但为空的元素添加关闭标签:<html></html>
  • 不包括 XML 声明。

仔细遵循 W3C 的兼容性指南,用户代理(Web 浏览器)应该能够像 HTML 或 XHTML 一样轻松地解释文档。

如何从 XHTML 迁移到 HTML

要了解HTML 和 XHTML 之间的细微差别,请考虑将有效且格式良好的 XHTML 1.0 文档转换为有效的 HTML 4.01 文档。要进行此翻译,需要执行以下步骤:

  • 元素的语言应使用lang属性而不是 XHTMLxml:lang属性来指定。XHTML 使用 XML 内置的语言定义功能属性。
  • 删除 XML 命名空间 ( xmlns=URI)。HTML 没有命名空间功能。
  • 将文档类型声明从 XHTML 1.0 更改为 HTML 4.01。
  • 如果存在,请删除 XML 声明。(通常这是<?xml version="1.0" encoding="utf-8"?>:)。
  • 确保文档的 MIME 类型设置为text/html。对于 HTML 和 XHTML,这都来自Content-Type服务器发送的 HTTP 标头。
  • 将 XML 空元素语法更改为 HTML 样式空元素 ( <br/>to <br>)。
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。
(0)
上一篇 2023年8月2日
下一篇 2023年8月3日

相关推荐