【问题标题】:.htm or .html extension - which one is correct and what is different?.htm 或 .html 扩展名 - 哪一个是正确的,什么是不同的?
【发布时间】:2008-09-26 11:49:56
【问题描述】:

当我保存带有 .htm 或 .html 扩展名的文件时,哪个是正确的,有什么不同?

【问题讨论】:

标签: html naming-conventions filenames


【解决方案1】:

两者都没有错,这是一个偏好问题。传统上,MS 软件默认使用htm,而*nix 更喜欢html

正如下面所指出的,.htm 传统是从 win 3.xx 继承而来的,其中文件扩展名被限制为三个字符。

【讨论】:

  • 有了 MS,这是因为当 web 启动时,windows 3.xx 是大多数人使用的平台,并且文件有 8.3 的约束,所以 .html 是不可能的......
  • 如果页面有 xhtml doctypes,您也​​可以将页面保存为 .xhtml,浏览器甚至会将页面读取为 application/xhtml+xml,但它还不能与 Internet Explorer 一起使用。跨度>
【解决方案2】:

主要是字数不同。

“.htm”有微软操作系统的味道,文件系统历来将文件扩展名(点后的文件名部分)限制为 3 个字符。

".html" 有 Un*x 操作系统的味道,没有这个限制,当时用于所有严肃的互联网工作。

实际上,两者是等价的。

差异在于文化。 “.html”被一些人认为更正确。同样的人往往看不起 Microsoft 操作系统,并将“.htm”视为其局限性的难看提示。

【讨论】:

  • 作为一些额外的上下文,早期的 Microsoft 操作系统(在 Windows 95 之前且不包括 Windows 95)有这个限制,因为他们使用的 FAT 文件系统也有这个限制。该限制通常称为 8.3 文件名限制,它规定文件名在“点”之前最多可以有 8 个字符,在“点”之后最多可以有 3 个字符。顺便说一句,它是 2017 年,除了一些特定的用例,我们都应该使用没有扩展名的语义 URL:)
【解决方案3】:

当您在本地保存文件时,区别并不重要 - 您的本地系统可能会将这两个文件扩展名视为可互换的,以便您的浏览器加载。其原因是历史上基于 Windows 的系统使用 3 个字母扩展名 (htm),而基于 Unix 的系统使用 4 个字母扩展名 (html)。

在服务器端,服务default filenames 时可能会有一些差异:

两种扩展名之间可能存在差异的一种情况是服务器的默认文件名。当从服务器请求未指定文件名的 URL(例如 @987654322@)时,服务器会从请求的 URL 返回与默认文件名匹配的文件。常见默认文件名的示例包括“index.html”、“index.htm”、“default.html”、“default.htm”等。但是,管理员可以将服务器的默认文件名设置为任何他/她想要的。

请注意,服务器通常配置有多个默认文件名。

因此,如果您对服务器的默认文件名有任何级别的控制权,那么这应该不是问题。

【讨论】:

  • 这真的取决于服务器设置。
【解决方案4】:

我个人更喜欢 .html,但正如其他人所说,两者都可以。

请确保您只使用一个。永远不要在同一个网站上! 指向 mypage.html 的链接与指向 mypage.htm 的链接不同

【讨论】:

  • 只要所有链接都使用与它们指向的文档相同的扩展名,是否有任何理由将两者混合会成为问题(除了可维护性和整洁性)?
【解决方案5】:

还要注意,作为 URI 的一部分,文件扩展名没有任何作用。事实上,它甚至不是文件扩展名,它只是看起来像一个。由 URI 标识的资源类型在其名称中编码。相反,它由Content-Type HTTP 标头字段决定。将位图图片作为myimage.html 传递是完全合法的(但可能有点愚蠢),反之,将HTML 页面作为index.png 传递是完全合法的。这也是为什么有人认为文件扩展名根本不应该成为 URI 的一部分的原因。

Tim Berners-Lee 爵士在 Hypertext Style: Cool URIs Don't Change 中对此进行了详细阐述。

【讨论】:

  • 我相信文件扩展名和文档内容类型之间的硬关联也来自Windows,对吧?如果我没记错的话,Mac 经典文件附加了元数据,指示哪个应用程序创建/打开了它们。不确定 Unix。
【解决方案6】:

它们是完全可以互换的。如果我正确理解历史,那么一开始正确的扩展名是 .html,但当 Windows 95 出现时,它只能处理 3 个字符扩展名。

所以 .html 根据某些标准或其他标准是正确的,但实际上这并不重要(大部分时间......刚刚做了一个快速的谷歌搜索并找到以下内容)

但有一个问题需要注意,大多数主机服务器将要求您的默认起始页面命名为“index.html”而不是“index.htm”

【讨论】:

    【解决方案7】:

    我使用 .htm。我猜少打字。或者可能是我的 Windows 偏见。

    【讨论】:

      【解决方案8】:

      两者都是正确的,过去文件扩展名的长度不得超过 3 个字符。

      http://en.wikipedia.org/wiki/Filename_extension

      【讨论】:

      • 3个字符的扩展名限制仅来自windows
      【解决方案9】:

      我个人更喜欢 .html,因为名称是“超文本标记语言”。使用 .htm 是因为某些旧版 Windows 的文件扩展名不能超过 3 个字符

      【讨论】:

        【解决方案10】:

        两者的工作方式相同,但有关技术和非技术参考,请在此处查找, http://www.sightspecific.com/~mosh/www_faq/ext.html

        【讨论】:

          猜你喜欢
          • 2012-01-03
          • 1970-01-01
          • 2010-12-30
          • 2016-01-06
          • 1970-01-01
          • 1970-01-01
          • 2022-12-04
          • 2011-07-17
          • 2020-08-18
          相关资源
          最近更新 更多