`
guohf
  • 浏览: 417983 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

shtml学习笔记 [SSI|指令|语法|详细说明|实例|帮助手册|下载]

阅读更多
一、什么是.shtml文件
提到.shtml文件就不得不提到ssi。
SSI被称为“服务器端包含”或“服务器端嵌入”技术。是一种基于服务器端的网页制作技术。.shtml文件就是应用了SSI技术的.html文件。
二、SSI工作原理
因为是基于服务器端的网页制作技术,所以在.shtml页面返回到客户端前,页面中的SSI指令将被服务器解析。可以使用SSI指令将其它文件、图片包含在页面中,也可以将其它的CGI程序包含在页面中,如.aspx文件。在给客户端返回的页面中不会包含SSI指令。如果SSI指令不能被解析,则浏览器会将其做为普通的HTML注释处理。
三、SSI的特点
速度:介于类似于.asp与.html之间。比.asp快,但比.html慢
维护:SSI能使页面在维护的时候更简单,维护的效率也更高。
四、什么时候需要使用SSI
在以下情况中,可以考虑使用SSI
  1. 显示服务器端环境变量<#echo>
  2. 将文本内容直接插入到文档中<#include>
  3. 显示WEB文档相关信息<#f lastmod #f size> (如文件制作日期/大小等)
  4. 直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序)
  5. 设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式)
  6. 高级SSI<XSSI>可设置变量使用if条件语句

五、SSI指令与语法介绍

SSI包含六大指令,见下

1、config指令:用于修改SSI的默认设置

参数:errmsg, timefmt, sizefmt

errmsg:设置默认的错误信息,该指令必须入在其它指令的前面

示例:<!--#config errmsg="error!please email mamager!"-->

Timefmt:设置日期与时间的显示格式,需放在echo指令前

示例:

<!--#config timefmt="%A, %B %d, %Y"-->

<!--#echo var="last_modified"-->

Sizefmt:设置表示文件大小的单位。如bytes。该指令需要放在fsize指令前使用。

示例:

<!--#config sizefmt="bytes"-->
<!--#fsize file="head.html"-->

2、Include指令:用于将其它文档或元素包含在当前文档中

参数:virtual file

virtual:给出到服务器端某个文档的虚拟路径

示例:

<!--include virtual="/includes/header.html"-->

file:给出到当前目录的相对路径,其中不能使用"../",也不能使用绝对路径

示例:

<!--include file="header.html"-->

这就要求每一个目录中都包含一个header.html文件。

3、Echo:用于显示各种服务器变量

参数:var

示例:

<!--#echo var="DOCUMENT_NAME"-->

以下是常见的服务器变量:

DOCUMENT_NAME:显示当前文档的名称

DOCUMENT_URI:显示当前文档的虚拟路径

QUERY_STRING_UNESCAPED:显示未经转义处理的由客户端发送的查询字串,其中所有的特殊字符前面都有转义符"\

DATE_LOCAL:显示服务器设定时区的日期和时间。用户可以结合config命令的timefmt参数,定制输出信息

示例:

<!--#config timefmt="%A,the %d of %B,in the year %Y"-->
<!--#echo var="DATE_LOCAL"-->

输出结果:

Saturday, the 15 of April, in the year 2000

DATE_GMT:功能与DATE_LOCAL一样,只不过返回的是以格林尼治标准时间为基准的日期

LAST_MODIFIED:显示当前文档的最后更新时间

除了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:显示访问受保护页面的用户所使用的帐号名称

4、Fsize:显示指定文件的大小,可以结合config命令的sizefmt参数定制输出格式

参数:file

示例:

<!--#fsize file="index_working.html"-->

5、Flastmod:显示指定文件的最后修改日期,可以结合config 命令的timefmt参数控制输出格式

参数:file

示例:

<!--#config timefmt="%A, the %d of %B, in the year %Y"-->
<!--#flastmod file="file.html"-->

6、Exec:可以执行CGI脚本或者shell命令

参数:cmd cgi

Cmd:使用/bin/sh执行指定的字串。如果SSI使用了IncludesNOEXEC选项,则该命令将被屏蔽

Cgi:可以用来执行CGI脚本 

分享到:
评论

相关推荐

    SSI完整配置实例

    SSI,全称是Shared State Infrastructure,它是一种分布式计算技术,主要应用于Web服务器环境中,用于在多个服务器之间共享和管理状态信息。在Web应用中,SSI常用来实现动态网页的生成,通过在静态HTML页面中嵌入可...

    SSI框架实例源码

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

    ssi整合带有实例

    为了更深入地理解和实践这个实例,你可以下载压缩包文件`ssi_05`,其中应该包含了示例文件和详细步骤。解压后,根据提供的说明逐步操作,将你的数据库连接信息替换到相应的位置,以使示例与你的环境兼容。记得在...

    ssi框架代码实例

    SSI框架,即Struts2、...通过学习和理解这个示例,开发者可以快速掌握SSI框架的整合方法,了解如何在实际项目中使用这三个框架协同工作,提高开发效率。同时,这个CRUD示例也是对数据库操作和MVC模式实践的绝佳教程。

    ssi项目实例

    这个"ssi项目实例"是针对初学者设计的,旨在帮助他们快速理解和掌握SSI的使用。 在这个项目中,我们可以预期学习到以下关键知识点: 1. **SSI基本语法**:了解如何在HTML文件中插入SSI指令,例如`&lt;!--#include ...

    SSI框架登录实例.

    总结来说,这个"SSI框架登录实例"为我们提供了一个学习服务器端包含技术在实际应用中的机会,尤其是如何在Eclipse环境下构建一个简单的登录系统。它涵盖了HTML表单、服务器端处理、数据库验证等多个Web开发的基础...

    简单SSI整合实例

    文件名 "SSI3笔记.txt" 和 "SSI3" 暗示可能包含的是关于SSI的第三部分学习笔记或者是一个项目的第三部分,可能记录了整合过程中的关键步骤、遇到的问题以及解决方案,而"SSI3"可能是一个包含服务器端代码、数据库...

    SSI项目实例

    这个"SSI项目实例"是为初学者设计的,目的是帮助他们更好地理解和掌握SSI架构的工作原理和实际应用。 SSI主要应用于网页的静态化处理,它可以将多个静态页面合并,插入日期、时间、文件属性等动态信息,提高网站的...

    SSI简单实例

    这个实例提供了一个基础的SSI和IBatis结合使用的例子,帮助开发者理解如何在静态页面中嵌入动态内容,并通过数据库操作实现数据的动态显示。通过深入学习和实践,可以进一步掌握如何优化和扩展这种结合方式,以适应...

    SSI框架学习

    首先,我们来理解SSI的基本语法。SSI的指令通常以"&lt;!--#指令 参数 --&gt;"的形式存在于HTML文件中。例如,`&lt;!--#include virtual="header.html" --&gt;`这条指令会将指定路径的header.html文件内容插入到当前页面。这里的`...

    SSI框架搭建实例

    总之,这个实例将帮助你掌握如何在静态页面中利用SSI增强动态内容的展现,同时结合Struts1.2框架处理复杂的业务逻辑,如分页查询。通过实际操作,你将更好地理解和运用这两种技术,提升Web应用的开发效率和用户体验...

    apache SSI教程文档

    这些文档包含了所有可用的SSI指令、变量以及如何使用它们的实例。通过了解和熟练使用SSI,你可以创建更加动态和灵活的网页,同时降低维护成本。 例如,你可以使用`&lt;!--#include virtual="ssi/footer.ssi" --&gt;`指令...

    SSI框架实例

    总的来说,这个SSI框架实例提供了一个了解和实践服务器端包含技术的平台,对提升Web开发技能非常有帮助。通过这个实例,你可以学习到如何结合HTML、CSS、JavaScript和数据库操作来构建一个功能完善的Web应用,同时还...

    自己总结的ssh,ssi项目部署文档和实例文档

    结合标题和描述,这个压缩包可能包含关于如何部署和使用SSH、SSI的详细文档和实例,如步骤指南、配置文件示例、常见问题解答等。这些资源对于初学者和管理员来说非常有价值,可以帮助他们理解并熟练掌握这两种技术,...

    基于SSI框架的一个小实例

    **SSI框架详解与小实例应用** SSI,全称为Server Side Includes,是一种在Web服务器端运行的简单嵌入式脚本语言。它允许网页设计者在HTML文档中包含其他文件,如文本、HTML代码或者服务器上的动态内容,而无需使用...

    SSI相关笔记

    标题中的"SSI相关笔记"可能是指SSH框架的笔记,而非SSI(Server Side Includes)技术,因为描述中提到了"SSH相关笔记",并且包含了"ibatis"和"struct2"这两个与SSH(Struts2、Spring、Hibernate)集成开发相关的...

    SSI实例(源码+mysql数据库+部署)

    SSI实例(源码+数据库+部署说明),数据库使用连接池,自己编写的搭建框架的代码,包含登录,增删改查,包含jar包: commons-dbcp.jar ibatis-2.3.0.677.jar mysql-connector-java-5.1.13.jar spring-aop-3.2.1....

    ssi2实例

    下面将详细探讨SSI2实例中的关键知识点。 1. **服务器端包含(SSI)基础**: - SSI的基本概念:SSI允许开发者在静态HTML文件中嵌入动态内容,如时间戳、天气信息、服务器环境变量等,无需将整个页面转化为动态...

    SSI整合开发详细实例,其中包括三个项目

    标题中的"SSI整合开发详细实例"指的是在软件开发中,将Spring、Struts和Ibatis这三个框架进行集成的实践过程。这些框架都是Java Web开发中常用的技术栈,它们各自负责不同的职责:Spring作为全面的轻量级应用框架,...

    ssi详细解答,史上最全的注解

    在这个压缩包文件"testSSI"中,我们可能找到了关于SSI的实例或者教程,帮助我们更深入地理解这一技术。 SSI的基本语法主要包括以下几点: 1. `&lt;!--#include file="filename"--&gt;`:这是最常用的指令,用于将指定的...

Global site tag (gtag.js) - Google Analytics