博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态缓存技术之CSI,SSI,ESI
阅读量:6377 次
发布时间:2019-06-23

本文共 1574 字,大约阅读时间需要 5 分钟。

1.CSI方案

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

2.SSI方案

SSI (Server Side Includes)
Server Side Includes (SSI) is a simple interpreted server-side scripting language used almost exclusively for the Web.
在HTML文件中,可以通过注释行调用的命令或指针。实现整个网站的内容更新。SSI需要特殊的文件后缀(shtml,inc)。如:
<!--#include virtual="../date.jsp" -->

3.ESI方案

ESI (Edge Side Includes)
Edge Side Includes(ESI) 和Server Side Includes(SSI)和功能类似。ESI(Edge Side Include)通过使用简单的标记语言来对那些可以加速和不能加速的网页中的内容片断进行描述,每个网页都被划分成不同的小部分分别赋予不同的缓存控制策略,使Cache服务器可以根据这些策略在将完整的网页发送给用户之前将不同的小部分动态地组合在一起。通过这种控制,可以有效地减少从服务器抓取整个页面的次数,而只用从原服务器中提取少量的不能缓存的片断,因此可以有效降低原服务器的负载,同时提高用户访问的响应时间。
一般用于缓存服务器如varnish、squid。akamai

ESI方案

方案优点

CSI
能够利用浏览器客户端并行处理及装载的机制,这种技术基本不需要服务器支持和修改,计算和操作放在客户端,能够降低服务器端压力。
 
SSI
通用技术,不受具体语言限制,只需要Web服务器或应用服务器支持即可,Ngnix、Apache、IIS、Tomcat、Jboss等对此都有较好的支持。
 
ESI
更适合用于缓存服务器上,缓存整个页面或页面片段,因此ESI特别适合用于缓存。
 

方案缺点

CSI
搜索引擎优化问题。javascript兼容性问题。客户端缓存可能导致服务器端内容更新后不能及时生效,常常通过加js版本来解决。
 
SSI
SSI在语法上不能够直接包含其他服务器的url,只能在当前服务器上运行。
 
ESI
使用不广泛,支持的软件还比较少。

 

SSI常用指令

Directive

Parameters

Example

include

file or virtual <!--#include virtual=“menu.cgi” -->相对domain root
<!--#include file=“footer.html” -->相对当前文件

echo

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

If、elif、else、endif

expr
<!--#if expr="${Sec_Nav}" -->
<!--#include virtual="secondary_nav.txt" -->
<!--#elif expr="${Pri_Nav}" -->
<!--#include virtual="primary_nav.txt" -->
<!--#else -->
<!--#include virtual="article.txt" -->
<!--#endif -->
Expr: 支持正则匹配 /正则/

set

var, value <!--#set var="foo" value="bar" -->

ESI常用指令

<esi:include src="URI" alt="URI" οnerrοr="continue" />

转载地址:http://dwtqa.baihongyu.com/

你可能感兴趣的文章
NPOI Excel下拉项生成设置
查看>>
360该不该拍?
查看>>
用Xib创建控制器
查看>>
oracle的sqlplus和dos的中文乱码问题
查看>>
LVS+keepalived高可用负载均衡集群部署(二)---LAMP网站服务器与LVS服务器
查看>>
Struts2之简单数据类型转换
查看>>
python 打印数字
查看>>
iptables规则的查看、添加、删除和修改
查看>>
打开网站显示输入用户名和密码
查看>>
size_t的32位和64位兼容
查看>>
HBase全分布式模式的安装和配置
查看>>
Spring 框架的设计理念与设计模式分析
查看>>
十年web老兵整理的前端视频资料
查看>>
工作线程数究竟要设置为多少
查看>>
10个Python 统计报表/图表图形类库
查看>>
关于 xargs 参数被截断,tar 文件被覆盖的问题
查看>>
CentOS 6.3 上安装 Oracle 11g R2(转)
查看>>
js实现滚动新闻效果
查看>>
Nginx出现could not build the server_names_hash 解决办法
查看>>
Netbeans8在web项目中创建servlet
查看>>