动态内容缓存技术 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方案

方案优点

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" onerror="continue" />

时间: 2024-12-29 13:07:12

动态内容缓存技术 CSI,SSI,ESI介绍的相关文章

前端内容缓存技术:CSI,SSI,ESI

一.CSI (Client Side Includes)   含义:通过iframe.javascript.ajax  等方式将另外一个页面的内容动态包含进来. 原理:整个页面依然可以静态化为html页面,不过在需要动态的地方则通过iframe,javascript或ajax来动态加载! 例子:<iframe src='http://abroad.e2bo.com/index.php' border='0'></iframe> 优点:相对比较简单,不需要服务器端做改变和配置: 缺点

动态缓存技术之CSI,SSI,ESI

平时我们谈页面,大都数是以页面为单位的. 一.CSI (Client Side Includes) 含义:通过iframe.javascript.ajax等方式将另外一个页面的内容动态包含进来. 原理:整个页面依然可以静态化为html页面,不过在需要动态的地方则通过iframe,javascript或ajax来动态加载! 例子:<iframe src='http://abroad.e2bo.com/index.php' border='0'></iframe> 优点:相对比较简单,

ESI 动态缓存技术

任何一个Web网站的内容都是在不断更新和变化,但这并不意味这这个网站的内容就是动态内容,事实上,动态的内容是指用户每次点击 相同的链接时取的的内容是由Web服务器应用程序生成的,如常见得ASP,JSP等,与此相对应,静态内容一般就是指由文本.图像和多媒体组成,在用户每 次单击相应链接时基本保持不变.现在解决动态内容缓存的最新技术就是通过ESI技术来设计网站的内容. ESI技术工作原理 动态生成的内容能为用户带来丰富精彩的页面,网站开发者也可以更容易和更灵活地控制相关的内容,但在享受这些便利的同时

介绍缓存的基本概念和常用的缓存技术(转)

摘要: 介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题 1  概念 1.1   缓存能解决的问题 · 性能——将相应数据存储起来以避免数据的重复创建.处理和传输,可有效提高性能.比如将不改变的数据缓存起来,例如国家列表等,这样能明显提高web程序的反应速度: · 稳定性——同一个应用中,对同一数据.逻辑功能和用户界面的多次请求时经常发生的.当用户基数很大时,如果每次请求都进行处理,消耗的资源是很大的浪费,也同时造成系统的不稳定

.Net环境下的缓存技术介绍

使用缓存的原因: 因为速度快 性能高,缓存一般直接放在物理内存中,数据库一般保存在磁盘上,磁盘的处理速度远慢于内存. 摘要: 介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页) 1         概念 1.1   缓存能解决的问题 · 性能——将相应数据存储起来以避免数据的重复创建.处理和传输,可有效提高性能.比如将不改变的数据缓存起来,例如国家列表等,这样能明显提高web程序的反应速度: · 稳定性——同一个应用中

.Net环境下的缓存技术介绍 (转)

.Net环境下的缓存技术介绍 (转) 摘要:介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页) 1         概念 1.1   缓存能解决的问题 · 性能——将相应数据存储起来以避免数据的重复创建.处理和传输,可有效提高性能.比如将不改变的数据缓存起来,例如国家列表等,这样能明显提高web程序的反应速度: · 稳定性——同一个应用中,对同一数据.逻辑功能和用户界面的多次请求时经常发生的.当用户基数很大时,如果每次

CDN技术之--内容缓存工作原理

有CDN前的网站服务技术–硬件扩展:高成本,灵活性和可扩展性比较差–镜像技术(mirroring):镜像服务器安装有一个可以进行自动远程备份的软件,每隔一定时间,各个镜像服务器就会到网站的源服务器上去获取最新的内容–缓存技术(caching):缓存代理缓存被访问过的内容,后续的相同内容访问直接通过缓存代理获得服务–CDN:是缓存技术的基础上发展起来的,是缓存的分布式集群实现 从技术层面看,Web架构的精华有三处:–超文本技术HTML实现信息与信息的连接:–统一资源标志符URI实现全球信息的精确定

.net环境下的缓存技术-转载!

摘要: 介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页) 1         概念 1.1   缓存能解决的问题 · 性能--将相应数据存储起来以避免数据的重复创建.处理和传输,可有效提高性能.比如将不改变的数据缓存起来,例如国家列表等,这样能明显提高web程序的反应速度: · 稳定性--同一个应用中,对同一数据.逻辑功能和用户界面的多次请求时经常发生的.当用户基数很大时,如果每次请求都进行处理,消耗的资源是很大的浪

C#.Net环境下的缓存技术

一.缓存技术本节将介绍以下技术: 使用Asp.Net缓存: 使用Remoting Singleton缓存: 使用内存映射文件: 使用SQL Server缓存: 使用静态变量缓存: 使用Asp.net 会话状态(Session State): 使用Asp.net客户端缓存和状态: 使用Internet Explorer缓存. 2.1 Asp.net缓存将常用的数据保存在内存中对asp的开发人员来说并不陌生,Session对象和Application对象提供键值对来缓存数据,Session对象保存和