前者是超文本標記(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文件格式也支持。