服务器端包含程序(SSI, Server Side Include)——shtml教程(1)

news/2025/2/23 15:29:27
shtml简介
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的最近一次更改日期。



http://www.niftyadmin.cn/n/601927.html

相关文章

1.6-常见的502问题解决

在使用nginx打开论坛时,网站根目录正确,但是打开网页502这这时候可以查看nginx的错误日志,在配置文件中有定义:/usr/local/nginx/logs/nginx_error.log可以看到 unix:/tmp/wyp.sock failed (13: Permission denied)这一行&#xf…

springboot使用@Transactional + redis缓存,导致缓存获取值为null

原因:如果执行的是读操作,由于连接对象不是代理对象,读操作并不会重新创建一个连接,而是使用当前连接,并且放在事务中运行,因此读操作并不会立即执行而是等到事务提交时才能执行,导致读操作读取…

Java8-LocalDateTime&LocalDate

时间的应用 1.获取当前时间的整点时间点 如:2022-12-02 17:38:24 得到:2022-12-02 17:00:00 LocalDateTime localDateTime LocalDateTime.now().toLocalDate().atTime(LocalDateTime.now().getHour(), 0, 0);2.获取当前时间的下一个整点时间点 如&…

spring + hibernate 数据话持久层

对于J2EE 应用程序而言,事务的处理一般有两种模式:1. 依赖特定事务资源的事务处理这是应用开发中最常见的模式,即通过特定资源提供的事务机制进行事务管理。 如通过JDBC、JTA 的rollback、commit方法;Hibernate Transa…

Oracle9i新特性:iSQLPLUS(2)

也可以加载叫本来执行:4.以Sysdba的身份登陆以Sysdba的身份登陆,需要运行:http://machine_name.domain:7778/isqlplusdba这需要你先输入http server的口令,这个不同于数据库认证。创建认证口令文件:D:/oracle/ora92/Ap…

Java-工厂模式+策略模式实现功能选择

需求:根据已知的发送方式确定策略 实现: 首先是策略接口 public interface WxTemplateStrategy {//处理类型boolean processWxTemlate(Long taskId);//if else 条件String getType() ; }其次是每种策略的实现 1.不发送 Slf4j Component public class …

给bundle version添加svn revision number

一般提交到appstore的version:1.0.0 在project文件的general里面叫做"version" 程序里面显示给用户的version: 1.0.0.xxx(xxx是我们svn的revision number,方便找到对应代码)在project文件的general里面叫做"build&…

Spring、Hibernate和JBoss

AndroMDA 使用 XML 元数据交换(XML Metadata Interchange,XMI)文件格式的输出,几乎所有的建模工具都基于特定于平台的 cartridge 生成应用程序的源代码。针对这个示例的目的,我将采用特定于 Spring 和 Hibernate 的 ca…