服务器端内嵌(Server Side Includes,亦简称为SSI)是一种大多数仅应用于互联网上的简单解释性服务器端脚本语言。
简介SSI最常见的用法是将一个或多个文件的内容包含在网页服务器的页面上。例如,一张包含每日报价的页面可以通过下面一段代码将报价单包含在页面中:
若更改quote.txt文件,则所有包含此文件的页面都会展示最新的每日报价。这个包含不止局限于文件,而且还有来自程序的文本输出,或者是如当前时间的系统变量。
服务器端内嵌常用于在整个站点中包含一段公共代码,例如页眉、页脚与导航栏。使用控制代码可以有条件地将导航栏包含在内。
为了让网页服务器辨识启用了服务器端内嵌的HTML文件,从而运行这段代码。则文件名应有特殊的扩展名,默认为.shtml、.stm和.shtm;或者服务器设置文件的执行标记以配置为允许服务器端内嵌。
作为一种简单的编程语言,服务器端内嵌仅支持一种数据类型:纯文本。它的控制流程相当简单,支持选择,但循环不被原生支持,且只可以通过包含递归式或URL重定向的方式进行。这种简单设计的语言使得其比大多数服务器端脚本语言都更易于上手学习使用,而复杂的服务器端处理过程通常使用功能更丰富的编程语言之一来完成。服务器端内嵌拥有图灵完备性。
Apache、LiteSpeed、nginx、lighttpd与IIS五大主流网页服务器软件均支持此种语言。
SSI的语法相当简单:。这些指令都放在HTML注释区,所以若SSI功能并未启用时,除非其预览页面源代码,否则用户将不会在页面上看到这些SSI指令。请注意这种语言的语法中不允许在开头的"