shtml是什么?

        很多人知道ASP,JSP,PHP的原理,古老的CGI知道的人也不少,但真正知道shtml具体是啥的人不多,包括我在内啊。最近在给一个嵌入式设备做内嵌网页用到了shtml,网页服务器使用了CGI。

        百度百科对SHTML的定义:

        ssi是Server Side Include的首字母缩略词。包含有嵌入式服务器方包含命令的 HTML 文本。在被传送给浏览器之前,服务器会对 SHTML 文档进行完全地读取、分析以及修改。

      shtml和asp 有一些相似,以shtml命名的文件里,使用了ssi的一些指令,就像asp中的指令,你可以在SHTML文件中写入SSI指令,当客户端访问这些shtml文件时,服务器端会把这些SHTML文件进行读取和解释,把SHTML文件中包含的SSI指令解释出来。


        shtml的主要嵌入式ssi命令有

  1.显示服务器端环境变量<#echo>
  2.将文本内容直接插入到文档中<#include>
  3.显示WEB文档相关信息<#flastmod #fsize> (如文件制作日期/大小等)
  4.直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序)
  5.设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式) 高级SSI<XSSI>可设置变量使用if条件语句。

      我主要用到的就是exec命令,格式:  

       <!--#exec cmd="文件名称"-->

  <!--#exec cgi="文件名称"-->

    

        SHTML和HTML的区别,如果用一句话来解释就是:SHTML 不是HTML而是一种服务器 API,shtml可通过服务器动态产成html. 虽然两者都是超文本格式,但shtml是一种用于SSI技术的文件。也就是Server Side Include--SSI 服务器端包含指令。如果Web Server有SSI功能的话(大多数(尤其是基于Unix平台)的WEB服务器如Netscape Enterprise Server等均支持SSI命令)。会对shtml文件特殊招待。先扫一次shtml文件看有没有特殊的SSI指令存在。有就按Web Server设定规则解释SSI指令。解释完后跟一般html一起调去客户端。html或htm与shtml或shtm的关系是什么?html或者htm是一种静态的页面格式,也就是说不需要服务器解析其中的脚本,或者说里面没有服务器端执行的脚本,而shtml或者shtm由于它基于SSI技术,当有服务器端可执行脚本时被当作一种动态编程语言来看待,就如asp、jsp或者php一样。当shtml或者shtm中不包含服务器端可执行脚本时其作用和html或者htm是一样的。



你可能感兴趣的:(html,server,服务器,cgi,嵌入式,asp)