服务器端内嵌(SSI)

  SSI是服务器端内嵌(ServerSideInclude)的简称。它通过在普通HTML文档中内嵌一些代码,当用户访问浏览器HTML页面时,先由Web服务器分析(Parsing)这些内嵌的代码,并转化成相应的HTML格式,最后才将HTML发送给客户端。因为通过SSI可以将-文件内嵌到另一文件中,所以称之为服务器端内嵌。大多数(尤其是基于Unix和Linux平台)Web服务器,如NetscapeEnterpriseServer、Apache等均支持SSI命令。IIS也支持SSI功能,不过较简单。

  SSI没有特定的规范或标准(RFC文档),开发商对SSI的实现也是各行其是,要正确使用某Web服务器的SSI,必须参考该Web服务器的有关SSI的说明文档。NCSA对SSI的定义和说明在某种程度上还是比较权威的,可以参考NCSA有关httpd服务器的网页其中包括有关SSI的说明。下面简单地介绍Unix和Linux环境下SSI的配置及使用方式。

  首先配置Web服务器使之支持SSI,需要改动access.conf和srm.conf两个文件。在access.conf文件中说明SSI的作用路径,可以使多个路径支持SSI。在srm.conf文件中为SSI指定MIME类型,例如在srm.conf增加-.行“AddTypetext/x-server-parsed-html.shtml”,指明要Web服务器分析shtml类型的页面文件,也可以让Web服务器分析所有的HTML文件,只要增加一行“AddTypetext/x-server-parsed-html.html”即可。SSI命令以注释的格式()加入HTML文档中,如果不启用ssI功能,Web服务器就忽略这些注释,一旦启用SSI功能,Web服务器就对这些ssI的注释命令进行分析运行。SSI命令的形式是“”,其中“命令”是个关键字,“标记名”也是一个关键字,用于指定参数类型,不同的Web服务器提供的关键字组可能有所不同,使用时需要注意。例如下面一条HTML语句(带有ssI命令):您使用的IP地址是:

  该语句在浏览器中可能显示为:

  您使用的IP地址是:10.21.66.100

  所有的SssI命令都以“#”开头,表明该注释行是一个ssI命令行,而非普通注释行:echo是一个命令关键字;var是标记名;REMOTEADDR是参数,返回客户端IP地址。