asp和html及shtml有什么区别
什么是HTML:
HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只需使用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中。 HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。
什么是ASP:
Active Server Pages(ASP,活动服务器页面)就是一个编程环境,在其中,可以混合使用HTML、脚本语言以及组件来创建服务器端功能强大的Internet应用程序。如果你以前创建过一个站点,其中混合了HTML、脚本语言以及组件,你就可以在其中加入ASP程序代码。通过在HTML页面中加入脚本命令,你可以创建一个HTML用户界面,并且,还可以通过使用组件包含一些商业逻辑规则。组件可以被脚本程序调用,也可以由其他的组件调用。
htm(和html性质是一样的)其实是静态的网页文件,它只包含简单的网页语言,不包含服务器脚本或指令。
而shtm(和shtml也是性质一样)和ASP都是包含服务器脚本的文件,如果有脚本或指令在里面,服务器会按要求执行它,因此,这些类型是动态的,可执行的文件每一个网页或者说是web页都有其固定的后缀名,不同的后缀名对应着不同的文件格式和不同的规则、协议、用法,最常见的web页的后缀名是.html和.htm,但这只是web页最基本的两种文件格式,今天我们来介绍一下web页的其它一些文件格式。
首先介绍一下html与htm
关于HTML,HTML(HyperTextMark-upLanguage)即超文本标记语言,是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教程,view index.shtml是一种基于SSI技术的文件,也就是Server Side Include--SSI 服务器端包含指令,一些Web Server如果有SSI功能的话就会对index.shtml文件特殊招待,服务器会先扫一次iis shtml文件看没有特殊的SSI指令存在,如果有的话就按Web Server设定规则解释SSI指令,解释完后跟一般html一起调去客户端。
关于shtm,shtm与asp生成shtml的关系和htm与html的关系大致相似,这里就不多说了。
html或htm与shtml系统或shtm的关系是什么
html或者htm是一种静态的页面格式,也就是说不需要服务器解析其中的脚本,或者说里面没有服务器端执行的脚本,而生成shtml或者shtm由于它基于SSI技术,当有服务器端可执行脚本时被当作一种动态编程语言来看待,就如asp、jsp或者php一样。当shtml或者shtm中不包含服务器端可执行脚本时其作用和html或者htm是一样的。
大家也看到了,新浪啊,网易啊这些大站都用shtml.为什么用shtml呢? 这里简单讲一下shtml的好处.
比如,新浪一天比如增加2万条新闻,全部都得生成.如果选择生成html的话,他想改动左栏右栏底部头部等内容就需要以下几种办法,一是重新改模版再生成,二是全部用js调用,三是用iframe调用.第一种采用的话那他们就是变态.第二种搜索引擎不收,第三种大小都控制不了,想增加个广告都是难事.所以,我们就有了shtml.
shtml可以使用<!--#i nclude file="xxx.shtml" -->这种ssl..也就是可以直接调用某一页面到此页面,和asp的用法是一样的。但shtml却不像asp那样是动态页,当然,生成纯静态的asp,也就和html一样了。
因为你调用的是静态文件,所以在执行上不需要有多少损耗.
而shtml支持更简单,iis6.0都支持.就是把<服务器端包含文件>开启就行.
举个例子来说shtml的优势吧 ,shtml可以使用include 比如你可以<!--#i nclude file="/top.html"-->
这样你改页头就不用重新生成所有的页面了或者你inlcude “最新文章列表”,那你只要刷新“最新文章列表”就可以了,不用刷新所有的文章或者列表页,节省巨多时间。同理,你还可以发挥自己的想象,来include更多的东西,来减少你的刷新量 。
调用.js不也能办到吗? 当然,但是效果是不一样的,shtml是服务器端包含,也就是说在展示给用户之前已经在服务器端把包含的文件品合到一起了,而js却不然,js一般是在客户端执行的,也就是说,要由用户的浏览器去自己解释并展示出来换句话说,也就是shtml的包含对搜索引擎更有利,因为搜索引擎获得的是完整的html代码,而不是夹带了js还要自己解释的html代码,搜索引擎懒得去解释你的每个js
ssi的其它功能一般较少用到,所以也就不说了
但是,如果你用了shtml而不使用inlcude的话,那你是白白浪费时间,因为ssi是要进行一步include检查的,会比html慢。