.html/.htm/.shtml/.shtm/.xhtml/.dhtml/xml的区别

在看一本书时,提到.shtml文件,了解一下这几个html相关的文件名的区别吧。
首先,html和htm文件没啥区别。
关于HTML,HTML(Hyper Text Mark-up Language)即超文本标记语言,是WWW的描述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只需使用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中。 HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。
  关于HTM,实际上HTM与HTML没有本质意义的区别,只是为了满足DOS仅能识别8+3的文件名而已,因为一些老的系统(win32)不能识别四位文件名,所以某些网页服务器要求index.html最后一个l不能省略。MSIE能自动识别和打开这些文件,但编写网页地址的时候必须是完全对应的,也就是说index.htm和index.html是两个不同的文件,对应着不同的地址。值得一提的是UNIX系统中对大小写敏感,不吻合的话就可能报没有文件或者找不到文件。
其次,shtml和shtm文件也没啥区别。
关于shtml,shtml是一种基于SSI技术的文件,也就是Server Side Include–SSI 服务器端包含指令,一些Web Server如果有SSI功能的话就会对shtml文件特殊招待,服务器会先扫一次shtml文件看没有特殊的SSI指令存在,如果有的话就按Web Server设定规则解释SSI指令,解释完后跟一般html一起调去客户端。关于shtm,shtm与shtml的关系和htm与html的关系大致相似,这里就不多说了。
然后,html或htm与shtml或shtm的关系是什么。
html或者htm是一种静态的页面格式,也就是说不需要服务器解析其中的脚本,或者说里面没有服务器端执行的脚本,而shtml或者shtm由于它基于SSI技术,当有服务器端可执行脚本时被当作一种动态编程语言来看待,就如asp、jsp或者php一样。当shtml或者shtm中不包含服务器端可执行脚本时其作用和html或者htm是一样的。

dhtml: Dynamic HTML
确切地说,DHTML只是一种制作网页的概念,实际上没有一个组织或机构推出过所谓的DHTML标准或技术规范之类的。DHTML不是一种技术、标准或规范,DHTML只是一种将目前已有的网页技术、语言标准整和运用,制作出能在下载后仍然能实时变换页面元素效果的网页的设计概念。 简而言之,DHTML就是以HTML为基础,运用DOM将页面元素对象化,利用CSSL控制这些对象的CSS属性以达到网页的动态视觉效果。

xhtml: eXtensible HyperText Markup Language
HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言,看起来与HTML有些相象,只有一些小的但重要的区别,XHTML就是一个扮演着类似HTML的角色的XML,所以,本质上说,XHTML是一个过渡技术,结合了XML(有几分)的强大功能及HTML(大多数)的简单特性。
 
XML: Extensible Markup Language
结构化的信息中包含了一些内容(例如文字,图片等)和一些指示出内容的重现手段的标记(例如,在一个章节头部的信息和其脚注处的信息是有不同含义的。)所有的文档都有不同的结构。一种标记语言,是定义文档结构的机制。XML规范定义了一个对文档进行标记的标准。

参考资料:
http://www.sightspecific.com/~mosh/WWW_FAQ/ext.html    (html和htm的区别,说的很清楚)
http://monw3c.blogbus.com/logs/31898928.html    (shtml不错的介绍)
http://en.wikipedia.org/wiki/Xhtml
http://tech.sina.com.cn/s/2006-04-24/1654915865.shtml
http://zhidao.baidu.com/question/24644830

master

Stay hungry, stay foolish.

发表评论

电子邮件地址不会被公开。 必填项已用*标注