SSI学习(一)

概述

平常我们谈到缓存技术,大多是以页面为单位的,比如,新闻网站中将执行后的结果,缓存为一个静态html文件,下次访问时就直接访问这个静态页面了!

减轻了服务器压力!但是,如果一个页面大部分是可静态的,但是有一部分却需要是动态的咋办呢? 这个时候就可以使用动态内容缓存技术!

解决方案

最常见的解决方案有三种: CSI , SSI ,ESI

CSI

CSI实现原来通过iframe、javascript、ajax 等方式将另外一个页面的内容动态包含进来。

SSI

SSI原理是通过SSI调用各模块的对应文件,最后组装为html页面,需要服务器模块支持(常用apache和ngnix)缺点是不能够直接包含其他服务器的url,

只能在当前服务器上运行。

ESI

ESI是通过使用简单的标记语言来对那些可以加速和不能加速的网页中的内容片断进行描述,每个网页都被划分成不同的小部分分别赋予不同的缓存控制 策略,

使Cache服务器可以根据这些策略在将完整的网页发送给用户之前将不同的小部分动态地组合在一起。通过这种控制,可以有效地减少从服务器抓取整个页面的次数,

而只用从原服务器中提取少量的不能缓存的片断,因此可以有效降低原服务器的负载,同时提高用户访问的响应时间。与SSI不同的是,ESI多在缓存服务器或代理

服务器上执行!

目前最常用的的是CSI和SSI,ESI应用比较少。对于CSI和SSI,CSI由于存在缓存不能及时更新等问题,目前较SSI来说,应用的没有那么多

简单总结下:

  应用模式 指令模式 页面后缀
CSI 客户端 无需指令,ajax/iframe实现 无需服务器支持 常见后缀
SSI 服务端 SSI专用指令
需要专用服务器支持
*.shtml;*.inc
ESI 服务端 ESI专用指令 需要专用服务器支持 常见后缀

参考:http://www.cnblogs.com/wbinblog/archive/2012/05/16/2503528.html

时间: 2024-08-01 10:45:46

SSI学习(一)的相关文章

SSI学习(二)

1.SSI指令 #config:指定返回到客户端浏览器的错误消息.日期和文件大小所使用的格式. #echo:在 HTML 页中插入环境变量的值. #exec:运行一个应用程序或一条 shell 命令并将输出插入到 HTML 页中. #flastmod:将文件修改日期插入到 HTML 页中. #fsize:将文件大小插入到 HTML 页中. #include:在 HTML 或 ASP 页中包含文件. 因为包含 SSI 指令的文件需要特殊处理,所以必需给 SSI 文件一个 SSI 文件扩展名. 默认

python学习第二天

python学习的第二天就是个灾难啊,这天被打击了,自己写的作业被否认了,不说了,写博客还是个好习惯的,要坚持下去,就不知道能坚持到什么时候.呵呵!!! 这天教的知识和第一天的知识相差不大,区别在于比第一天讲的更细了(我们是两个老师教的,风格是不一样的),这次也写那些比较细的知识点. python的简介 (1)你的程序一定要有个主文件. (2)对于python,一切事物都是对象,对象基于类创建.#似懂非懂,不过有那么点似懂. 知识点 #__divmod__ 会把两个数字相除的商和余数以元组的方式

Struts2学习第一天——struts2基本流程与配置

struts2框架 什么是框架,框架有什么用? 框架 是 实现部分功能的代码 (半成品),使用框架简化企业级软件开发 ,提高开发效率. 学习框架 ,清楚的知道框架能做什么? 还有哪些工作需要自己编码实现 ? 什么是struts2框架,它有什么用? Struts 2是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架. 其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大.Struts 2以WebWork为核心 struts2=struts1+

各种音视频编解码学习详解

各种音视频编解码学习详解 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放license收费等等.最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范 标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已经很少采用了.所以豆丁上看不出所以然,从 wiki上查.中文的wiki信息量有限,很短,而wiki的英文内容内多,删减版

[TM4C123单片机实践] 配置SSI并驱动DAC7811显示正弦波

这几天做电赛学习了TM4C123 单片机, 总得来说, 结合官方例程与参考手册, 加上一个好的示波器, 效率会高很多. TI的SSI 实际上就是SPI. 我门先熟悉一下SPI SPI ,就是在主机与从机之间用来传输数据的 通过TX, RX传输数据, 通过CS 片选信号线激活主机与从机的通信, 通过CLK 时钟信号控制频率 #include <stdbool.h> #include <stdint.h> #include "inc/hw_memmap.h" #in

Linux运维学习历程-第1天

什么是Linux Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统. 为什么学Linux 几乎所有的Linux版本都是免费的,网上有很多正版资源可供下载使用: Linux是开源性的,只要使用者遵循一定的开源协议就可以修改源代码:并且可以进行学习科研.工

一个在校java攻城师的学习计划

首先自我介绍一下,我是来自杭州的一名普通的计算机本科生,今年大三.近期呢,由于机缘巧合被一家公司收留,成为一名苦逼攻城师实习生.真的苦逼啊!以前上学的时候,多少幸福啊,现在每天7点多到晚上8点才能回到寝室.废话不多说了,啪啪啪地有点说远了.写这篇博客是想列一下接下来准备深入研究下的一些技术. 1.java设计模式(我靠,我以前在没学之前感觉好牛逼啊,设计模式一听就是大牛要接触到的东西,奈何现在实习面试中也经常看到这样一条要求:熟悉各种设计模式!) 2.j2ee(我想深入研究一下servlet,之

CGI编程学习

@CGI编程学习 目录(?)[+] 一.基本原理 CGI:通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口.通过CGI接口,Web服务器就能够获取客户端提交的信息,转交给服务器端的CGI程序进行处理,最后返回结果给客户端. 组成CGI通信系统的是两部分:一部分是html页面,就是在用户端浏览器上显示的页面.另一部分则是运行在服务器上的Cgi程序. 它们之间的通讯方式如下图: 服务器 客户端 CGI程序 HTTP通信 标准输入输出 (环境

LM3S之boot loader学习笔记-1

彭会锋 (首先声明,此系列文章编写参考了很多资料,其中一些内容是原版内容的引用和整理,并加入了一些自己的见解,我已经尽量标明引用部分,如有未全部标注部分,还望见谅!) 最近项目需要能够对光伏系统监控器和dsp代码进行在线升级,为此特意学习了下lm3s的bootloader编写,程序已经编写调试完毕,特写一下相关的知识点总结,也供各位进行相关参考! bootloader作用 "BootLoader是位于Flash起始地址处的一小段代码,占据空间大小依据Boot所实现的功能而不同.如果没有BootL