【问题标题】:What is the difference between .html and .xhtml extension? XHTML is a markup language or it'a different extension also.html 和 .xhtml 扩展名有什么区别? XHTML 是一种标记语言,或者它也是一种不同的扩展
【发布时间】:2010-12-30 11:16:27
【问题描述】:

.html.xhtml 文件扩展名有什么区别?

使用.xhtml 扩展有什么好处?

为什么我们不使用.xhtml扩展,仅仅是因为IE?

IE 8 的 .xhtml 扩展名怎么样?

除了IE,其他浏览器是否支持.xhtml?如果是,那么当所有浏览器都支持.xhtml 扩展时,我们将获得什么好处。我们会停止使用.html吗?

为什么我们使用 XHTML 文档类型,但使用 .html 扩展名保存这些文件?

【问题讨论】:

  • 看看hixie.ch/advocacy/xhtml,您是否想了解更多关于以 HTML 格式发送 XHTML 文档类型的内容。

标签: html xhtml mime-types doctype file-extension


【解决方案1】:

如果通过 HTTP 提供服务,则文件扩展名没有意义。唯一重要的信息是Content-Type header field,其中指定了资源的media type

但当从本地文件系统提供服务时,媒体类型通常由文件扩展名标识。


Edit    我认为即使是 XHTML 也使用扩展名 .html 的原因是因为 XHTML 是只有 XML 语法的 HTML,每个人都习惯于 .html 用于 HTML 文档。 (尽管大多数 XHTML 文档实际上是作为 HTML 提供的,因为媒体类型 text/html 表示 HTML,无论文档类型声明如何。)

但同样:通过 HTTP 请求时,不需要扩展。在 HTTP 中,Content-Type 标头字段告诉我们应该使用什么媒体类型来解释资源。所以理论上你可以使用任何你想要的扩展,甚至根本不使用扩展(在使用内容协商时很有用)。

【讨论】:

  • 但是,扩展通常会影响 Content-Type。
  • @ms2ger:不,文件扩展名对 Content-Type 绝对没有影响。
  • 它“有效果”,因为服务器经常将扩展名映射到 Content-Types(例如,通过 Apache 的 AddType 指令或其 mime.types 文件),但你是对的,它没有t 更改文件的内容(这确实很奇怪)。
  • @Wevah:你是对的,但是服务器在文件系统上工作。 ;-)
【解决方案2】:

使用匹配 MIME 类型的扩展名:

  • .xhtml 用于 application/xhtml+xml 文档
  • .html 用于 text/html 文档

例如,ePub3 需要.xhtml

强烈建议您对所有 EPUB 内容文档使用 .xhtml 扩展名。如果没有该扩展名,浏览器不会将 HTML 内容解释为 application/xhtml+xml。

参考文献

【讨论】:

    【解决方案3】:

    IE(包括 IE8)是唯一的(重要的)浏览器,支持作为 application/xhtml+xml 的 XHTML(对应于 xhtxhtml 扩展)。

    当 IE 支持 XHTML 时,每个人都会转向 XHTML 吗?可能不是。 XML 不容易做到正确,尤其是当您必须合并用户提供的数据时,例如博客 cmets。 (虽然这可能会在 IE 开始播放之前使用 (X)HTML5 <iframe sandbox> 解决。)但是,我没有水晶球,所以我们只能等着看会发生什么。

    【讨论】:

      【解决方案4】:

      没有人关心文件的名称,只关心它传输的 MIME 类型是什么。

      【讨论】:

        【解决方案5】:

        浏览器不(仅)依赖于页面扩展,而是依赖于 MIME 内容类型。例如,通过这种方式,您可以创建一个提供 JPG 图像的 PHP 页面。

        【讨论】:

          【解决方案6】:

          我认为 xhtml 扩展名仅用于 XHTML,但很少使用,因为您使用的 HTML 类型是在 DOCTYPE 元素中定义的。

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
          "http://www.w3.org/TR/html4/loose.dtd">
          

          【讨论】:

          • 这是一个完全有效的答案。为什么它的投票率如此之低?
          猜你喜欢
          • 1970-01-01
          • 2011-12-16
          • 1970-01-01
          • 2019-03-26
          • 2019-10-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-08-11
          相关资源
          最近更新 更多