网络协议对比: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 文档由具有三个组件的元素组成 – 一对元素标签 – 开始标签、结束标签;标签和实际、文本和图形内容中给出的元素属性。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>
)。
以上是 网络协议对比:HTML和XHTML有什么区别 的全部内容, 来源链接: utcz.com/dzbk/941740.html