SHTML之2

来源:互联网 发布:java中间件有哪些 编辑:程序博客网 时间:2024/04/28 11:22

SSI直译服务器端包含(Server Side Includes),由字面上看由WEB在服务器提供的一种功能,并且是在服务器端进行的。一般说来,要完成较复杂的任务(如:聊天室/留言本等),必须设计专门的CGI或ASP程序;但是如果只是想给网页加上简单的功能(如:显示一篇文档,web服务器环境变量,关于该文档的更新日期/大小等),则只要SSI就可以完成了。SSI则是直接由服务器解释执行的,须要WEB服务器软件支持SSI。而且,由于直接在服务器端执行SSI,产生相应HTML代码;所以对客户端没有限制,不会产生因为不同浏览器而产生不同的观看效果。
SSI有什么用? 目前,主要有以下几种用用途: 1、 显示服务器端环境变量<#echo> 2、 将文本内容直接插入到文档中<#include> 3、 显示WEB文档相关信息<#flastmod #fsize> (如文件制作日期/大小等) 4、 直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序) 5、 设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式) 高级SSI可设置变量使用if条件语句。
使用SSI很容易吧? SSI是为WEB服务器提供的一套命令,这些命令只要直接嵌入到HTML文档的注释内容之中即可。如: 就是一条SSI指令,其作用是将"info.htm"的内容拷贝到当前的页面中,当访问者来浏览时,会看到其它HTML文档一样显示info.htm其中的内容。其它的SSI指令使用形式基本同刚才的举例差不多,可见SSI使用只是插入一点代码而已,使用形式非常简单。当然,如果WEB服务器不支持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/下载这一共享软件。

原创粉丝点击