转载源:http://www.divcss5.com/html/h59.shtml

首先htm、html、shtml都是静态网页的后缀,三者也可以说都是只是扩展名不同,其他一样,都是静态的网页。
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后缀的网页文件没有区别,后缀名可以互换,区别在于和shtml与shtm一样多与少“L”。

三、Html与shtml区别 
  本质上都属于静态网页一种,html属于纯静态,客户端浏览器读取html文件是什么就呈现给浏览者什么内容。而shtml则可以使用SSI。

四、shtml的SSI功能 
  SSI是为WEB服务器提供的一套命令,这些命令只要直接嵌入到HTML文档的注释内容之中即可。如:
    <!--#include file="info.htm"-->
  就是一条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:<!--#include file="b.html"-->

  2、B html网页内容:
    我是B页面内容

  3、这个时候浏览器查看A页面HTML源代码:
    A shtml页面里内容是:我是B页面内容

  这个就是shtml ssi 包含include魅力之处。

  其它的SSI指令使用形式基本同刚才的举例差不多,可见SSI使用只是插入一点代码而已,使用形式非常简单。

  当然,如果WEB服务器不支持SSI,它就会只不过将它当作注释信息,直接跳过其中的内容;浏览器也会忽略被包含信息,我们可以查看源代码看到include引入注解信息。

五、如何在我的WEB服务器上配置SSI功能?
  在一些WEB服务器上(如IIS 4.0/SAMBAR 4.2),包含 #include 指令的文件必须使用已被映射到 SSI 解释程序的扩展名;否则,Web 服务器将不会处理该SSI指令;默认情况下,扩展名 .stm、.shtm 和 .shtml 被映射到解释程序(Ssinc.dll)。

  IIS配置ssi:http://www.hzcuizhai.com/fuwuqijiaocheng/IIS/34778.html

  tomcat配置ssi:https://blog.csdn.net/sanyuedexuanlv/article/details/27324783

  shtml和shtm是服务器动态产生的静态网页,需要服务器自带SSI处理出来静态网页。

定义:html,htm是一个完全的超文本静态网页——hypertext markup language
    shtml是一种用于SSI技术的文件——Server Side Include--SSI。

shtml是什么格式,比html有何好处? shtml,html格式是差不多,shtml主要可以使用include(包含html),经过服务器生成静态页面。

Shtml的页面可以使用include嵌入另外的html页面这样可以使得一个网站里共用相同办法分离出来使用include来嵌入到静态页面里。静态页面则不能!
Shtml使用方法
  <!--#include file="网页文件地址"-->

假如一个网站头部和导航、底部各个页面完全相同,则可以分离出这些部分分别放到一个html页面里,然后使用include嵌入到一个shtml页面里。

!特别说明html和htm不能使用include,即使使用也无效。

要想服务器能解析shtml网页页面,必须在服务器IIS中开SSI。

windows 2003下 解决.shtml的文件不能访问shtml在2003下默认不支持,要支持的话可以做如下修改:

  1:在主机管理-管理-自定义Mime类型 中,添加 扩展名 .shtml Mime类型为text/html 一般就可以了 如果嵌套的语法不行,则需要做第二步修改

  2:在服务器的配置里添加个映射:c:/windows/system32/inetsrv/ssinc.dll 扩展名.shtml 动作限于GET,POST

  2003的系统下要记的在IIS管理器里的web服务扩展里把 在服务器端的包含文件 修改为 允许

最后最好重启下服务器。

htm、html、shtml区别。(web服务器配置ssi)的更多相关文章

  1. htm、html、shtml区别

    htm.html.shtml都是静态网页的后缀,三者也可以说都是只是扩展名不同,其他一样,都是静态的网页. htm和html是完全静态的网页不通过服务器编译解释直接送出给浏览器读取的静态网页,以htm ...

  2. 网页后缀html、htm、shtml、shtm有什么区别?

    每一个网页或者说是web页都有其固定的后缀名,不同的后缀名对应着不同的文件格式和不同的规则.协议.用法,最常见的web页的后缀名是.html和.htm,但这只是web页最基本的两种文件格式,今天我们来 ...

  3. 资深前端工程师带你认识网页后缀html、htm、shtml、shtm有什么区别?

    每一个网页或者说是web页都有其固定的后缀名,不同的后缀名对应着不同的文件格式和不同的规则.协议.用法,最常见的web页的后缀名是.html和.htm,但这只是web页最基本的两种文件格式,今天我们来 ...

  4. cookies,sessionStorage和localStorage的区别---web前端sessionStorage和localStorage区别

    sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁.因此sessionStorage不是一种持久化的本地 ...

  5. 【原创】我所理解的自动更新-外网web服务器配置

    ClientDownload和ClientUpdate共享渠道配置信息: channel-0.php //以appstore的渠道为例 <?php define('APPNAME', 'TOKE ...

  6. visual studio 2012打开提示 未能将网站×××配置为使用 ASP.NET 4.5 和 尚未在Web服务器上注册,您需要手动将Web服务器配置为使用ASP.NET 4.5

    未能将网站×××配置为使用 ASP.NET 4.5.为了使此网站正确运行,您必须将它手动配置为使用ASP.NET 4.5. ASP.NET 4.5尚未在Web服务器上注册,您需要手动将Web服务器配置 ...

  7. vs2012 aps.net 4.5尚未在web服务器上注册,您需要手动将Web服务器配置为

    系统换成Windows10安装VS2012打开项目总提示:vs2012 aps.NET 4.5尚未在web服务器上注册,您需要手动将Web服务器配置为使用ASP.net 4.5,这样您的网站才可能正确 ...

  8. 后缀html和htm文件的区别

    后缀html和htm文件的区别: (1)如果一个网站有index.html和index.htm,默认情况下,优先访问.html. (2).htm后缀是为了兼容以前的dos系统8.3的命名规范

  9. Web 服务器配置

    Web 服务器配置在您进行 CGI 编程之前,请确保您的 Web 服务器支持 CGI,并已配置成可以处理 CGI 程序.所有由 HTTP 服务器执行的 CGI 程序,都必须在预配置的目录中.该目录称为 ...

随机推荐

  1. spring 接口校验参数(自定义注解)

    1. 注解类 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.l ...

  2. enum简单使用

    前台传入weightCode :1/2/3/4,获取不同的区间0~10 10~50 50~100 100~999999 0~999999 public void setWeight(){ this.m ...

  3. String对象的常见方法

    String 对象方法 方法 描述 anchor() 创建 HTML 锚. big() 用大号字体显示字符串. blink() 显示闪动字符串. bold() 使用粗体显示字符串. charAt() ...

  4. shims-vue.d.ts 解析

    TypeScript的文档看起来比较让人匪夷所思 TS是从2012年就开始的项目,那时ES6的模块化还没有成为继定标准,所以今天来看TS中一些名词让人匪夷所思,其实都是历史遗留问题 比如namespa ...

  5. add_prefix()函数

    对于series,是给索引列加前缀. 对于Dataframe,是给列名加前缀. 参考:https://www.cjavapy.com/article/276/

  6. Jmeter之Synchronizing Timer(同步集合点)

    在性能测试时,需要压测并发,此时就需要用到Synchronizing Timer组件. 一.界面显示 二.配置说明 1.名称:标识 2.注释:备注 3.Grouping (1.Number of si ...

  7. linux打包

    1.打成tar包 sudo tar -zcf boot.tar /boot/ 2.打成zip包 sudo zip -r boot.zip ./*

  8. IntelliJ IDEA 2019.1.1 maven框架web.xml中web-app版本过低导致不能正常使用EL表达式的解决方案

     1.软件版本 IDEA版本:IntelliJ IDEA 2019.1.1 maven版本:apache-maven-3.6.1 Tomcat版本:tomcat-8.5 2.问题描述 IDEA使用如下 ...

  9. Django 多数据库联用(同一个APP的models里不同class用不同数据库)

    很多网站有多数据库联用的文章,如自强学堂http://code.ziqiangxuetang.com/django/django-multi-database.html 大都只讲解如何让不同的app对 ...

  10. 【ABAP系列】SAP ABAP 刷新SCREEN的方法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 刷新SCREE ...