htm 与 html 的区别主要在于命名历史和兼容性。

首先,htm 与 html 均是静态网页后缀名,二者在网页效果上没有区别,可以互换使用,不会引起错误。具体来说,html 是为长文件名的格式命名的,而 htm 则是为了兼容过去的 DOS 命名格式而存在的。

其次,从命名上看,htm 是 Hyper Text Mark-up 的缩写,而 html 是 Hypertext Markup Language 的缩写,也就是超文本标记语言。这意味着 htm 更多地强调了“标记”,而 html 则更全面地指代了这种超文本标记语言。

总的来说,htm 与 html 在网页文件内容上没有任何区别,只是命名上的不同,htm 主要是为了兼容过去的 DOS 命名格式。在使用时,可以根据个人或项目的命名习惯来选择使用 htm 或 html 作为文件后缀。

htm 与 html 的区别

前者是超文本标记(Hypertext Markup)

后者是超文本标记语言(Hypertext Markup Language)

可以说 htm = html

同时,这两种都是静态网页文件的扩展名,扩展名可以互相更换而不会引起错误(这是指打开而言,但是对于一个链接来说,如果它指向的是一个 htm 文件,而那个 htm 文件被更改为 html 文件,那么是找不到这个链接的)

那为什么出现两种文件格式呢?

htm 是来源于老的 8.3 文件格式,DOS 操作系统只能支持长度为三位的后缀名,所以是 htm,但在 windows 下无所谓 HTM 与 HTML,html 是为长文件名的格式命名的。所以 htm 是为了兼容过去的 DOS 命名格式存在的,在效果上没有区别的。以前 htm 和 html 作为不同的服务器上的超文本文件,但现在通用。

什么是8.3文件格式? 这是一种在老的16位 Win95 或 Win98 文件系统的短文件名文件格式,扩展名只限于3位,文件名只限于8位。 如果要与16位系统交互,比如说,要把一个路径传给一个16位的程序,你就不能用长文件名,而必须对它进行转换。例如把“C : /MyLongestPath/MyLongerPath/MyFilename.txt”转换成“C : /Mylong~1/MyLong~2/Myfile~1.txt”

了解这个有什么用? 在 FAT 磁盘格式下的 DOS 中只支持8.3文件格式,如果你要在这个环境下做应用,应该要注意这个文件格式问题。在 NTFS 下,默认可以兼容这种文件格式,同时也支持长文件名,你也可以通过调整注册表来取消对8.3文件格式也支持。

后缀名选择:用 htm 还是用 html ?

推荐使用长后缀名 html 。

命名应该遵从含义清晰、简洁、一致性原则。含义清晰指见名知义,比如这里的 htm(hypertext markup) 和 html (hypertext markup language) 均采用的是英文单词首字母缩写,含义清晰。简洁要求变量命名尽量简短,比如此处后缀名使用首字母缩写而不使用全单词。一致性原则要求同环境下的大量变量命名符合同样的规则,比如有的朋友习惯于 Linux 文件夹命名规则后,使用win系统时新建文件夹命名仍拒绝使用空格,这便造成了新文件夹名与旧文件夹名命名规则不一致。

一致性原则往往更为重要。比如合作开发时,不能各守其是,人为提高开发难度。

从一路风尘的笔记中,我们了解到 htm 是历史遗留的8.3字符限制命名方式,而现在我们在命名时并未遵守8.3规则。因此,从 htm 和 html 中选择时,也应该选择无限制长度命名方式的 html 。