日期:2011-02-13  浏览次数:21207 次

 SSI(Server Side Include),通常称为服务器端嵌入,是一种类似于ASP的基于服务器的网页制作技术。大多数(尤其是基于Unix平台)的WEB服务器如Netscape Enterprise Server等均支持SSI命令。

 SSI工作原理:

在一个通常以.shtml为扩展名的SSI文件中,标准的HTML编码会被直接送到浏览器上,而内嵌Perl语言形式的SSI命令则先被网络服务器解释执行,如果是标准输出的话,输出信息也将作为标准的HTML而被送至浏览器。

 SSI简单应用实例:

〈html〉

〈head〉〈title〉my first SSI page〈/title〉〈/head〉

 〈body〉

欢迎您(于〈!--# echo var="date_local" --〉)访问本网站。

〈/html〉  


标记在上面文档中的“〈!--# --〉”结构表明了SSI命令会被服务器翻译执行,而不是直接送到客户端。我们可以在浏览器中用“查看→源文件"观察源代码:

〈html〉

〈head〉〈title〉my first SSI page〈/title〉〈/head〉

〈body〉

欢迎您(于dec 06 1999)访问本网站。

〈/html〉  


我们发现,文档中的html被直接传到了客户端,而SSI命令得到了执行。SSI代码在客户端是不可见的,客户端只能看到它执行的效果。

一个比较实用的例子

网站维护常常碰到的一个问题是,网站的结构已经固定,却为了更新一点内容而不得不重做一大批网页。SSI提供了一种简单、有效的方法来解决这一问题,它将一个网站的基本结构放在几个简单的HTML文件中(模板),以后我们要做的只是将文本传到服务器,让程序按照模板自动生成网页,从而使管理大型网站变得容易。如:

〈html〉

〈head〉〈title〉SSI example〈/title〉〈/head〉

〈body〉

〈h2〉新闻〈/h2〉

〈p〉〈!--# include file="news.txt" --〉

〈p〉新闻更新日期:〈!--# flastmod file="news.txt" --〉

〈/body〉

〈/html〉  


将频繁的更新内容放在news.txt中,SSI会通过 include 指令将其内容包含到输出的网页中。通过 flastmod 指令可在网页中显示new.txt的最近一次更改日期。

构建学习SSI的环境

支持SSI的web server 很多,如可以选用omnihttpd profeSSIonal, 这是一款win 95/98平台下的支持SSI的web服务器。可直接从http://www.omnicron.ab.ca/httpd/下载这一共享软件。