Atitit Server Side Include ssi服务端包含规范 csi esi
Atitit Server Side Include ssi服务端包含规范 csi esi
一、CSI (Client Side Includes) 1
1.1. 客户端包含1
1.2. AngularJS 包含1
二、SSI(Server Side Includes)2
1.3. 跨域包含;2
1.4. ESI(Edge Side Includes) 2
一、CSI (Client Side Includes) 含义:通过iframe、javascript、ajax等方式将另外一个页面的内容动态包含进来。 原理:整个页面依然可以静态化为html页面,不过在需要动态的地方则通过iframe,javascript或ajax来动态加载! 例子:<iframe src='http://abroad.e2bo.com/index.php' border='0'></iframe> 优点:相对比较简单,不需要服务器端做改变和配置; 缺点:不利于搜索引擎优化(iframe方式), javascript兼容性问题,以及客户端缓存问题可能导致更新后不能及时生效!对于客户体验也不够好!
1.1.客户端包含
通过 JavaScript 有很多种方式可以在 HTML 中包含 HTML 文件。
通常我们使用 http 请求 (AJAX) 从服务端获取数据,返回的数据我们可以通过 使用innerHTML写入到 HTML 元素中。
1.2.AngularJS 包含
使用 AngularJS, 你可以使用ng-include指令来包含 HTML 内容:
实例
<body> <divclass="container"> <divng-include="'myUsers_List.htm'"></div> <divng-include="'myUsers_Form.htm'"></div> </div> </body>
二、SSI(Server Side Includes) 含义:通过注释行SSI命令加载不同模块,构建为html,实现整个网站的内容更新; 原理:通过SSI调用各模块的对应文件,最后组装为html页面,需要服务器模块支持(具体配置本文不做详述),比如:apache服务器需要开启mod_include模块; 例子:
Html代码
1.<!--#include virtual="header.html" -->
2.<!--#include virtual="login.html" -->
3.<!--#include virtual="footer.html" -->
优点:不受具体语言限制,比较通用,只需要Web服务器或应用服务器支持即可,Ngnix、Apache、IIS等对此都有较好的支持。 缺点:SSI只能在当前服务器上包含加载,不能够直接包含其他服务器上的文件,即不能跨域包含;
1.3.跨域包含;
1.4.ESI(Edge Side Includes)
含义及原理:通过使用简单的标记语言来对那些可以加速和不能加速的网页中的内容片断进行描述,每个网页都被划分成不同的小部分分别赋予不同的缓存控制 策略,使Cache服务器可以根据这些策略在将完整的网页发送给用户之前将不同的小部分动态地组合在一起。通过这种控制,可以有效地减少从服务器抓取整个页面的次数,而只用从原服务器中提取少量的不能缓存的片断,因此可以有效降低原服务器的负载,同时提高用户访问的响应时间。与SSI不同的是,ESI多在缓存服务器或代理服务器上执行! 例子:
Html代码
1.<html>
2.<head><title>ESI Demo</title></head>
3.<body>
4.<esi:includesrc="login.php"/>
5.<div><h3>这中间是可静态化html内容</3></div>
6.</body>
7.<html>
优点:可用于缓存整个页面或页面片段,比较适合用于缓存服务器上; 缺点:目前支持ESI的软件还比较少,官方更新也略显缓慢,因此使用不是很广!
参考资料
·Apache mod_include Reference
AngularJS 包含 _ 菜鸟教程.html
动态缓存技术之CSI,SSI,ESI - 猫头哥(朴海林)_QQ_85977328 - ITeye技术网站.html
Server Side Includes - Wikipedia.html
Atitit Server Side Include ssi服务端包含规范 csi esi相关推荐
- SSI服务端包含技术
1.基于微服务,页面内容多如何进行管理? 将页面拆分成一个一个的小页面,通过cms去管理这些小页面,当要更改部分页面内容时只需要更改具体某个小页 面即可. 2.页面拆分出来怎么样通过web服务浏览? ...
- [2018 CS:GO Server]2018 Old CSGO 服务端,回忆逝去的青春!
简介: 2018 CSGO作为最后一代老UI,成为了许多老玩家逝去的青春,在这一年CSGO正式更新了全景UI等其他地方,本文章提供CSGO 2018服务端下载以及搭建教程,纯原创,欢迎各位的支持! 鸣 ...
- 如果input标签中有runat=”server”,则在服务端,Request.Form接收不到
如果input标签中有runat="server",则在服务端,Request.Form接收不到 转载于:https://www.cnblogs.com/street-boy/p/ ...
- Apache的服务端包含--SSI
SSI定义: SSI(服务器端包含)提供了一种对现有HTML文档增加动态内容的方法. 作用: 一般出于效率的考虑,网站都会把内容尽可能的静态化成HTML文件,但是网站页面的布局往往比较复杂,各个部分的 ...
- 本地计算机架设http服务器,Http File Server(简易Http服务器服务端)
如果您感觉配置IIS和apache等web服务端太麻烦的话,不妨试试Http File Server,Http File Server是一套简易的Http服务器服务端系统,它无需安装,运行后简单配置一 ...
- VNC server 5.3.0 服务端密码配置
下载地址: 链接:https://pan.baidu.com/s/11P8Nb-_6MSHE1LjX97HH6w?pwd=1234 提取码:1234 更多资源请前往博主个人网站:http://ww ...
- 赫墨拉游戏-服务端-编程规范
为了方便大家交流和代码共享,现在此做出一个共同的代码风格约定.本规范适用于项目C++语言以及其他语言与C++的交集部分. PS:本规范只对预计可能导致代码风格有较大不同的部分作出约定. 一.命名规范 ...
- 华为云IoT智慧物流案例10 | 广和通L610模组FOTA升级(服务端FileZilla Server客户端FileZilla)
华为云IoT智慧物流案例10 | 广和通L610模组FOTA升级(服务端FileZilla Server客户端FileZilla) 第一章 使用FileZilla Server搭建FTP服务器 第二章 ...
- PHP-Socket服务端客户端发送接收通信实例详解
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://fighter.blog.51cto.com/1318618/1533957 So ...
- gPRC简介以及Java中使用gPRC实现客户端与服务端通信(附代码下载)
场景 ProtoBuf的介绍以及在Java中使用protobuf将对象进行序列化与反序列化: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/det ...
最新文章
- Java 8 一行代码解决了空指针问题,太厉害了...
- 查看python安装的包
- JavaSE学习53:细说多线程之内存可见性
- python3断言_Python3断言
- java 名称可以包含-吗_java – “标签属性名称包含无效字符”. “Android Manifest
- CVPR 2020最新热点:物体位姿估计
- 从零开始数据科学与机器学习算法-简单感知器-05
- win7系统桌面计算机怎么打的开,windows7系统双击计算机打不开怎么解决|win7双击计算机打不开的解决方法...
- nubia android root权限,获取中兴NX403a (Nubia Z5S Mini Android 4.2)ROOT权限教程,新手必看...
- 查看mysql日志post_(转)MySQL 日志组提交
- 贫苦云主机用户的安全加固策略
- HTML超链接QQ在线聊天
- 电信物联卡稳定的apn接入点_0月租的电信纯流量卡怎么样?
- C#正则表达式——中文/英文空格(全角/半角空格)处理
- 不务正业,捣鼓了一个破网站,全过程记录
- 常见面试题及解答|计算机网络
- 深度学习 - 开发平台
- 微信支付2.0版本,更换参数即可使用
- 卸载微软的拼音输入法
- 微信登录的openid和unionid区别