转载源: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. OI多项式 简单学习笔记

    咕咕咕 先开个坑(其实是存模板来了) 一些特别简单的前置东西qwq 复数的计算 复数相加:向量相加,复数相乘.复数相乘:模长相乘,旋转量相加(就是复平面坐标轴逆时针旋转的角度) (当然也可以直接使用c ...

  2. Java 内置锁 重入问题

    阅读<Java并发编程实战>,遇到了一个问题 代码如下 /** * @auther draymonder */ public class Widget { public synchroni ...

  3. 【BZOJ3931】[CQOI2015]网络吞吐量

    Description 路由是指通过计算机网络把信息从源地址传输到目的地址的活动,也是计算机网络设计中的重点和难点.网络中实现路由转发的硬件设备称为路由器.为了使数据包最快的到达目的地,路由器需要选择 ...

  4. (知识)width、naturalWidth、clientWidth、offsetWidth区别整理

    今天在做图片裁剪功能的时候,参考了下网友的资料,发现大家对图片宽度的获取方式不尽相同,于是详细整理下各个属性的区别(详细请参考MDN). 1,HTMLImageElement.width是一个unsi ...

  5. 误用 Kotlin 中的 sortedWith() 方法排序,集合没有变化

    时间:2019年8月4日14:17:06问题描述:看下边的小例子: data class Man(val name: String, val age: Int, val type: Int) fun ...

  6. springMVC @response 中文乱码解决

    以下任选一种 在web.xml中: 添加一个过滤器(filter),注册 org.springframework.web.filter.CharacterEncodingFilter <filt ...

  7. MyRocks安装部署

    参考:https://www.cnblogs.com/WonderHow/p/5621591.html CentOS 7.3 gflags:git clone https://github.com/g ...

  8. 1. JDK 、 JRE 、JVM有什么区别和联系?

    首先,我们分别对这三者进行阐述. JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机.它只认识 xxx.class 这种类型的文件,它能够将 clas ...

  9. SpringBoot -- 配置mysql、hibernate

    # application.properties# Server settings (ServerProperties)server.port=8081server.address=127.0.0.1 ...

  10. 异步编程:IAsyncResult异步编程模型 (APM)

    http://www.cnblogs.com/heyuquan/archive/2013/03/22/2976420.html