htm和html是完全静态的网页不通过服务器编译解释直接送出给浏览器读取的静态网页,以htm和html伪静态Request除外。
html、htm、shtml、shtm均是静态html网页。都是网页文件后缀名不同的html网页扩展名。
一、html与htm
.html与.htm均是静态网页后缀名,网页文件没有区别与区分,html与htm后缀网页后缀可以互换,对网页完全没有影响同时也没有区别。可以认为html与htm没有本质区别,唯一区别即多与少一个“l”。
二、shtml与shtm
shtml命名的网页文件里,使用了ssi的一些指令,就像asp中的指令,你可以在SHTML文件中写入SSI指令,当客户端访问这些shtml文件时,服务器端会把这些SHTML文件进行读取和解释,把SHTML文件中包含的SSI指令解释出来。
而shtml与shtm后缀的网页文件没有区别,后缀名可以互换,区别在于和html与htm一样多与少“l”。
三、html与shtml区别
本质上都属于静态网页一种,html属于纯静态,客户端浏览器读取html文件是什么就呈现给浏览者什么内容。而shtml则可以使用SSI。
四、shtml的SSI功能
SSI是为WEB服务器提供的一套命令,这些命令只要直接嵌入到HTML文档的注释内容之中即可。如:
就是一条SSI指令,其作用是将"info.htm"的内容拷贝到当前的页面中,当访问者来浏览时,会看到其它HTML文档一样显示info.htm其中的内容。
假如我们A页面是shtml的静态网页,而A页面里我们使用了include包含嵌入B静态html页面,如果你的服务器空间支持Shtml
SSI这个时候我们,浏览器打开A页面时候,就会在A页面显示A原本内容以及B页面内容,我们查看网页源代码,不会发现B页面引入痕迹,而是看到B页面内
容完全在A页面里。
假如:
1、A shtml页面里内容是:
我包含页面B:
2、B html网页内容:
我是B页面内容
3、这个时候浏览器查看A页面HTML源代码:
A shtml页面里内容是:我是B页面内容
其它的SSI指令使用形式基本同刚才的举例差不多,可见SSI使用只是插入一点代码而已,使用形式非常简单。
当然,如果WEB服务器不支持SSI,它就会只不过将它当作注释信息,直接跳过其中的内容;浏览器也会忽略被包含信息,我们可以查看源代码看到include引入注解信息。