`
yudan_pekin
  • 浏览: 858 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

SSI 的指令及参数

    博客分类:
  • SSI
阅读更多

什么是SSI?

Server Side Include-- SSI 服务器端包含指令.(服务器端嵌入)

SSI 在使用时遵循以下格式:
<!---->

其中,directive 是向服务器发送的指令名称,parameter 是指令的操作对象,而 value 则是用户希望得到的指令处理结果。
所有的 SSI 命令都是以 "<!---->"。
SSI 命令包含六大类指令以及各自的参数,具体如下:
指令及参数指令名称参数列表
Configerrmsg, timefmt, sizefmt
include virtual, file
echo ,var
fsize ,file
flast ,modfile
exec ,cmd, cgi

下面我们将逐一进行介绍。
Config 命令
Config 命令主要用于修改 SSI 的默认设置。其中:
Errmsg:设置默认错误信息。为了能够正常的返回用户设定的错误信息,在 HTML 文件中 Errmsg 参数必须被放置在其它 SSI 命令的前面,否则客户端只能显示默认的错误信息,而不是由用户设定的自定义信息。
<!---->
Timefmt:定义日期和时间的使用格式。Timefmt 参数必须在 echo 命令之前使用。
<!---->
<!---->

显示结果为:
Wednesday, April 12, 2000
也许用户对上例中所使用的 %A %B %d 感到很陌生,下面我们就以表格的形式总结一下 SSI 中较为常用的一些日期和时间格式。
Sizefmt:决定文件大小是以字节、千字节还是兆字节为单位表示。如果以字节为单位,参数值为 "bytes";对于千字节和兆字节可以使用缩写形式。同样,sizefmt 参数必须放在 fsize 命令的前面才能使用。
<!---->
<!---->

Include 命令
Include 命令可以把其它文档中的文字或图片插入到当前被解析的文档中,这是整个 SSI 的关键所在。通过 Include 命令只需要改动一个文件就可以瞬间更新整个站点!
Include 命令具有两个不同的参数:
Virtual:给出到服务器端某个文档的虚拟路径。例如:
<!---->
File:给出到当前目录的相对路径,其中不能使用 "../",也不能使用绝对路径。例如:
<!---->
这就要求每一个目录中都包含一个 header.html 文件。
Echo 命令
Echo 命令可以显示以下各环境变量:
DOCUMENT_NAME:显示当前文档的名称。
<!---->
显示结果为:
index.html
DOCUMENT_URI:显示当前文档的虚拟路径。例如:
<!---->
显示结果为:
/YourDirectory/YourFilename.html
随着网站的不断发展,那些越来越长的 URL 地址肯定会让人头疼。如果使用 SSI,一切就会迎刃而解。因为我们可以把网站的域名和 SSI 命令结合在一起显示完整的 URL,即:
http://YourDomain<!---->
QUERY_STRING_UNESCAPED:显示未经转义处理的由客户端发送的查询字串,其中所有的特殊字符前面都有转义符 "\"。例如:
<!---->
DATE_LOCAL:显示服务器设定时区的日期和时间。用户可以结合 config 命令的 timefmt 参数,定制输出信息。例如:
<!---->
<!---->

显示结果为:
Saturday, the 15 of April, in the year 2000
DATE_GMT:功能与 DATE_LOCAL 一样,只不过返回的是以格林尼治标准时间为基准的日期。例如:
<!---->
LAST_MODIFIED:显示当前文档的最后更新时间。同样,这是 SSI 中非常实用的一个功能,只要在 HTML 文档中加入以下这行简单的文字,就可以在页面上动态的显示更新时间。
<!---->
除了 SSI 环境变量之外,echo 命令还可以显示以下 CGI 环境变量:
SERVER_SOFTWARE:显示服务器软件的名称和版本。例如:
<!---->
SERVER_NAME:显示服务器的主机名称,DNS 别名或 IP 地址。例如:
<!---->
SERVER_PROTOCOL:显示客户端请求所使用的协议名称和版本,如 HTTP/1.0。例如:
<!---->
SERVER_PORT:显示服务器的响应端口。例如:
<!---->
REQUEST_METHOD:显示客户端的文档请求方法,包括 GET,HEAD,和 POST。例如:
<!---->
REMOTE_HOST:显示发出请求信息的客户端主机名称。
<!---->
REMOTE_ADDR:显示发出请求信息的客户端IP地址。
<!---->
AUTH_TYPE:显示用户身份的验证方法。
<!---->
REMOTE_USER:显示访问受保护页面的用户所使用的帐号名称。
<!---->
Fsize 命令
Fsize 显示指定文件的大小,可以结合 config 命令的 sizefmt 参数定制输出格式。
<!---->
Flastmod 命令
Flastmod 显示指定文件的最后修改日期,可以结合 config 命令的 timefmt 参数控制输出格式。
<!---->
<!---->

这里,我们可以利用 flastmod 参数显示出一个页面上所有链接页面的更新日期。方法如下:
<!---->
File
<!---->
Another File
<!---->
<!---->

显示结果为:
File April 19, 2000
Another File January 08, 2000

Exec 命令
Exec 命令可以执行 CGI 脚本或者 shell 命令。使用方法如下:
Cmd:使用 /bin/sh 执行指定的字串。如果 SSI 使用了 IncludesNOEXEC 选项,则该命令将被屏蔽。
Cgi:可以用来执行 CGI 脚本。例如,下面这个例子中使用服务端 cgi-bin 目录下的 counter.pl 脚本程序在每个页面放置一个计数器:
<!---->

 


SSI 在使用时遵循以下格式:
<!---->

其中,directive 是向服务器发送的指令名称,parameter 是指令的操作对象,而 value 则是用户希望得到的指令处理结果。
所有的 SSI 命令都是以 "<!---->"。
SSI 命令包含六大类指令以及各自的参数,具体如下:
指令及参数指令名称参数列表
Configerrmsg, timefmt, sizefmt
includevirtual, file
echovar
fsizefile
flastmodfile
execcmd, cgi

下面我们将逐一进行介绍。
Config 命令
Config 命令主要用于修改 SSI 的默认设置。其中:
Errmsg:设置默认错误信息。为了能够正常的返回用户设定的错误信息,在 HTML 文件中 Errmsg 参数必须被放置在其它 SSI 命令的前面,否则客户端只能显示默认的错误信息,而不是由用户设定的自定义信息。
<!---->
Timefmt:定义日期和时间的使用格式。Timefmt 参数必须在 echo 命令之前使用。
<!---->
<!---->

显示结果为:
Wednesday, April 12, 2000
也许用户对上例中所使用的 %A %B %d 感到很陌生,下面我们就以表格的形式总结一下 SSI 中较为常用的一些日期和时间格式。
Sizefmt:决定文件大小是以字节、千字节还是兆字节为单位表示。如果以字节为单位,参数值为 "bytes";对于千字节和兆字节可以使用缩写形式。同样,sizefmt 参数必须放在 fsize 命令的前面才能使用。
<!---->
<!---->

Include 命令
Include 命令可以把其它文档中的文字或图片插入到当前被解析的文档中,这是整个 SSI 的关键所在。通过 Include 命令只需要改动一个文件就可以瞬间更新整个站点!
Include 命令具有两个不同的参数:
Virtual:给出到服务器端某个文档的虚拟路径。例如:
<!---->
File:给出到当前目录的相对路径,其中不能使用 "../",也不能使用绝对路径。例如:
<!---->
这就要求每一个目录中都包含一个 header.html 文件。
Echo 命令
Echo 命令可以显示以下各环境变量:
DOCUMENT_NAME:显示当前文档的名称。
<!---->
显示结果为:
index.html
DOCUMENT_URI:显示当前文档的虚拟路径。例如:
<!---->
显示结果为:
/YourDirectory/YourFilename.html
随着网站的不断发展,那些越来越长的 URL 地址肯定会让人头疼。如果使用 SSI,一切就会迎刃而解。因为我们可以把网站的域名和 SSI 命令结合在一起显示完整的 URL,即:
http://YourDomain<!---->
QUERY_STRING_UNESCAPED:显示未经转义处理的由客户端发送的查询字串,其中所有的特殊字符前面都有转义符 "\"。例如:
<!---->
DATE_LOCAL:显示服务器设定时区的日期和时间。用户可以结合 config 命令的 timefmt 参数,定制输出信息。例如:
<!---->
<!---->

显示结果为:
Saturday, the 15 of April, in the year 2000
DATE_GMT:功能与 DATE_LOCAL 一样,只不过返回的是以格林尼治标准时间为基准的日期。例如:
<!---->
LAST_MODIFIED:显示当前文档的最后更新时间。同样,这是 SSI 中非常实用的一个功能,只要在 HTML 文档中加入以下这行简单的文字,就可以在页面上动态的显示更新时间。
<!---->
除了 SSI 环境变量之外,echo 命令还可以显示以下 CGI 环境变量:
SERVER_SOFTWARE:显示服务器软件的名称和版本。例如:
<!---->
SERVER_NAME:显示服务器的主机名称,DNS 别名或 IP 地址。例如:
<!---->
SERVER_PROTOCOL:显示客户端请求所使用的协议名称和版本,如 HTTP/1.0。例如:
<!---->
SERVER_PORT:显示服务器的响应端口。例如:
<!---->
REQUEST_METHOD:显示客户端的文档请求方法,包括 GET,HEAD,和 POST。例如:
<!---->
REMOTE_HOST:显示发出请求信息的客户端主机名称。
<!---->
REMOTE_ADDR:显示发出请求信息的客户端IP地址。
<!---->
AUTH_TYPE:显示用户身份的验证方法。
<!---->
REMOTE_USER:显示访问受保护页面的用户所使用的帐号名称。
<!---->
Fsize 命令
Fsize 显示指定文件的大小,可以结合 config 命令的 sizefmt 参数定制输出格式。
<!---->
Flastmod 命令
Flastmod 显示指定文件的最后修改日期,可以结合 config 命令的 timefmt 参数控制输出格式。
<!---->
<!---->

这里,我们可以利用 flastmod 参数显示出一个页面上所有链接页面的更新日期。方法如下:
<!---->
File
<!---->
Another File
<!---->
<!---->

显示结果为:
File April 19, 2000
Another File January 08, 2000

Exec 命令
Exec 命令可以执行 CGI 脚本或者 shell 命令。使用方法如下:
Cmd:使用 /bin/sh 执行指定的字串。如果 SSI 使用了 IncludesNOEXEC 选项,则该命令将被屏蔽。
Cgi:可以用来执行 CGI 脚本。例如,下面这个例子中使用服务端 cgi-bin 目录下的 counter.pl 脚本程序在每个页面放置一个计数器:
<!---->
本文转自建站学  http://www.jzxue.com  

 

分享到:
评论

相关推荐

    Nginx SSI指令配置详解

    而Nginx中通过SSI指令配置可以灵活控制SSI支持,实现对动态内容的高效管理。需要注意的是,由于SSI是在服务器端处理的,因此对服务器性能有一定要求,且不应当用于处理安全性要求较高的内容,因为可能会增加XSS(跨...

    ssi整合 jar包

    1. **SSI指令**:SSI指令以`&lt;!--#`开头,`--&gt;`结尾,比如`&lt;!--#include virtual="header.html" --&gt;`用于包含一个文件,`&lt;!--#config timefmt="%Y-%m-%d" --&gt;`用于设置日期格式。这些指令在服务器端被解析,然后替换...

    SSI整合项目 SSI系统绞手架 SSI框架整合

    1. **SSI指令的使用**:学习和掌握各种SSI指令,如`include`、`config`、`exec`等,以及它们的参数和用法。 2. **模板引擎集成**:可能需要将SSI与模板引擎(如Jinja2、Twig等)结合,以增强模板的表达能力,实现更...

    SSI.zip_SSI

    --#include virtual="filename"--&gt;`:这可能是最常用的SSI指令,用于包含服务器上的文件。`virtual`参数指定要包含的文件的URL路径。 2. `&lt;!--#include file="filename"--&gt;`:与上一个类似,但这里的`file`参数指定...

    ssi整合jar包

    4. **测试和调试**:通过浏览器访问页面,检查SSI指令是否正确执行,使用服务器日志帮助定位和解决问题。 5. **性能监控**:关注SSI处理对服务器性能的影响,如有必要,可以调整缓存策略或优化代码。 需要注意的是...

    SSI框架项目案例

    在这个案例中,"example"文件可能是包含一系列SSI指令的示例页面。这些指令可能包括: 1. `&lt;!--#include virtual="file.html" --&gt;`:这行代码会将指定路径的"file.html"文件内容插入到当前页面中。`virtual`参数...

    SSI框架学习

    在Apache中,你需要在配置文件httpd.conf中启用ssi模块,并在相应目录下设置AllowOverride为All,以便允许SSI指令在HTML文件中生效。对于Nginx,你需要在server block中添加ssi on;指令来开启SSI支持。 接下来,...

    ssi.zip_ssi spi

    该压缩包文件"ssi.zip_ssi spi"很可能包含了关于如何在 LM3S9B96 上配置和使用 SSI 协议的源代码及相关文档。 SPI 协议是一种同步串行通信协议,由主机(Master)控制时钟,并与一个或多个从机(Slave)进行数据...

    SSI框架实例源码

    1. **SSI语法**:了解基本的SSI指令,如`&lt;!--#include virtual="..." --&gt;`用于包含其他文件,`&lt;!--#config timefmt="..." --&gt;`用于设置时间格式,以及`&lt;!--#exec cmd="..." --&gt;`执行服务器端命令等。 2. **文件包含...

    传一培训时候做的基于SSI的WEB项目

    4. **测试与调试**:访问包含SSI指令的页面,查看服务器是否正确处理并插入了内容。 ### SSI的优势与局限性 **优势**: - **简单易用**:SSI语法简单,适合快速实现简单的动态效果。 - **节省带宽**:通过包含文件...

    ssi整合带有实例

    在进行SSI整合时,你需要确保所有引用的文件路径正确无误,并且服务器已经正确配置以解析SSI指令。如果遇到问题,查看服务器日志通常能提供有价值的线索,如权限错误、文件不存在等问题。 为了更深入地理解和实践这...

    基于ssi的小项目

    常见的SSI指令有`&lt;!--#include virtual=... --&gt;`,用于包含其他文件,以及`&lt;!--#config timefmt=... --&gt;`,用于设置日期和时间的格式。通过这种方式,开发者可以轻松地管理网站的头部、底部等公共部分,提高代码复用...

    STM32+LWIP+WEB_SSI_CGI

    WEB_SSI_CGI是指服务器端嵌入式简单指令(SSI,Server-Side Includes)和通用网关接口(CGI,Common Gateway Interface)技术的结合。SSI允许在HTML页面中嵌入可执行的服务器端脚本,比如时间戳、动态内容生成等。...

    tomcat-ssi.rar_SSI

    3. **测试**:创建一个简单的HTML文件,包含一个SSI指令,如`&lt;!--#include virtual="/test.txt"--&gt;`,然后在浏览器中访问,如果配置正确,服务器会插入`test.txt`的内容。 **文件列表分析:** 1. **tomcat-ssi.txt*...

    传智播客SSI开发-黎活明

    2. **效率**:相比JSP等更复杂的服务器端技术,解释SSI指令的效率更高。因为SSI功能相对简单,不像Servlet那样需要处理众多的功能,所以性能更优。对于大型高流量的门户网站,这尤其重要,比如阿里巴巴集团旗下的...

    STM32系列,LWIP,WEB,CGI,SSI

    5. 实现SSI解析逻辑,找到HTML中的SSI指令并替换为动态内容。 6. 测试Web服务器,通过浏览器访问验证功能是否正常工作。 提供的"STM32+LWIP+WEB_SSI_CGI"压缩包很可能包含了实现这些功能的源代码、配置文件以及必要...

    SSI框架做的一个增删改查以及分页的小项目

    这通常涉及到HTML表单的创建,用于收集用户输入,然后通过SSI指令与服务器端的脚本交互,执行相应的数据库操作。例如,创建新记录可能需要一个表单提交,服务器端脚本接收到数据后插入数据库;查询操作则可能是通过...

    mysql_+ssi框架

    1. SSI指令:如`&lt;!--#include file="filename"--&gt;`用于包含其他文件,`&lt;!--#config timefmt="%Y-%m-%d %H:%M:%S"--&gt;`设置时间格式等。 2. 条件语句:允许根据特定条件执行不同代码块,如`&lt;!--#if expr="$var = value...

    SSI框架搭建

    在HTML文件中,我们可以使用以下SSI指令来包含其他文件或显示服务器变量: 1. `&lt;!--#include virtual="path/to/file" --&gt;`:这将包含指定路径的文件内容。 2. `&lt;!--#echo var="DATE_LOCAL" --&gt;`:显示服务器的本地...

    服务端包含技术_SSI技术

    - 创建`index.shtml`作为主页面,并使用SSI指令引入头部和尾部文件: ```html &lt;!--#include file="head.html"--&gt; 主页面内容 &lt;!--#include virtual="foot.html"--&gt; ``` ##### 2. SSI支持的变量 SSI支持一...

Global site tag (gtag.js) - Google Analytics