动态内容缓存技术 CSI,SSI,ESI介绍
2016-03-31 18:00
357 查看
原文:http://www.cnphp6.com/archives/58398
动态内容缓存技术 CSI,SSI,ESI介绍
CSI (Client Side Includes)
通过iframe、javascript、ajax 等方式将另外一个页面的内容动态包含进来。
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” –>
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
使用不广泛,支持的软件还比较少。
<esi:include src=”URI” alt=”URI” onerror=”continue” />
动态内容缓存技术 CSI,SSI,ESI介绍
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的更多内容请参考《
大型网站之网站静态化(ESI)
》
ESI方案
方案优点
CSI能够利用浏览器客户端并行处理及装载的机制,这种技术基本不需要服务器支持和修改,计算和操作放在客户端,能够降低服务器端压力。
SSI
通用技术,不受具体语言限制,只需要Web服务器或应用服务器支持即可,Ngnix、Apache、IIS、Tomcat、Jboss等对此都有较好的支持。
ESI
更适合用于缓存服务器上,缓存整个页面或页面片段,因此ESI特别适合用于缓存。
方案缺点
CSI搜索引擎优化问题。javascript兼容性问题。客户端缓存可能导致服务器端内容更新后不能及时生效,常常通过加js版本来解决。
SSI
SSI在语法上不能够直接包含其他服务器的url,只能在当前服务器上运行。
ESI
使用不广泛,支持的软件还比较少。
SSI常用指令
|
|
|
| file or virtual | <!–#include virtual= “ menu.cgi ” –> 相对 domain root <!–#include file= “ footer.html ” –> 相对当前文件 |
| var | <!–#echo var=”REMOTE_ADDR” –> |
| 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: 支持正则匹配 / 正则 / |
| var, value | <!–#set var=”foo” value=”bar” –> |
ESI常用指令
相关文章推荐
- hadood2.6.0启动datanode报错
- Java集合深入学习总结-HashMap
- 【杭电-oj】-1196-二进制截止到非零位转换为十进制
- 讓 SourceTree 讀取自定的 SSH key
- CSS 文本内容溢出 解决方法
- 【BZOJ4300】绝世好题【DP】【LIS】
- 方法调用和返回值
- eclipse的console总是出现如下的错误“Adb connection Error:远程主机强迫关闭了一个现有的连接”
- Java基础11 对象引用
- android native hook 源码 及 解析
- [转载]java的几种对象(PO,VO,DAO,BO,POJO)解释
- 类型转换辅助工具类TypeCaseHelper
- Dom4j解析xml文件-递归遍历所有节点和属性
- 练习,判断并创建不存在的文件或目录
- C++上机实验2——正整数类
- java,String做参数实参值不变,equals与==浅析
- C语言基础 字符串
- 企业级容器Registry开源项目Harbor架构简介
- iOS开发之.pch在工程出现移动的情况下出现not found 的情况
- 第1周 项目(A)-8分离整数和小数部分