.htm或.html扩展名 - 哪一个是正确的,哪些是不同的?

use*_*067 55 html filenames naming-conventions

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

Wil*_*ler 68

两者都不对,这是一个偏好问题.传统上,MS软件htm默认使用,*nix更喜欢html.

正如oded在下面指出的那样,.htm传统是从win 3.xx继承的,其中文件扩展名限制为三个字符.

  • 对于MS,这是因为当web启动时,windows 3.xx是大多数人使用的平台,文件有8.3约束,所以.html是不可能的...... (13认同)

dda*_*daa 25

主要是字符数不同.

".htm"微软操作系统的气味,其中文件系统历史上将文件扩展名(点后的文件名部分)限制为3个字符.

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

实际上,两者是等价的.

区别在于文化.".html"被一些人视为更正确.同样的人倾向于低头看微软的操作系统,并认为".htm"是他们局限性的难看的提醒.

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

Con*_*oyP 14

当您在本地保存文件时,差异无关紧要 - 您的本地系统可能会将这两个文件扩展名视为可互换,以便您的浏览器加载.其原因在于,历史上基于Windows的系统使用3个字母扩展(htm)和基于Unix的系统4个字母(html).

在服务器端,在提供默认文件名时可能会有一些差异:

两种扩展之间可能存在差异的一种情况是服务器的默认文件名.当从服务器请求未指定文件名的URL时,例如http://www.domain.dom/dirname/,服务器从请求的URL返回与默认文件名匹配的文件.常见默认文件名的示例包括" index.html,"" index.htm,"" default.html,"" default.htm,"等.但是,管理员可以将服务器的默认文件名设置为他/她所希望的任何名称.

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

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


Gen*_*ene 5

我个人更喜欢.html,但正如其他人所说的那样.

只要确保你只使用一个.从来没有在同一个网站上! 链接到mypage.html与链接到mypage.htm不同


Kon*_*lph 5

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

Tim Berners-Lee 爵士在《超文本风格:酷 URI 不会改变》中详细阐述了这一点。