欢迎来到天天文库
浏览记录
ID:19917468
大小:49.00 KB
页数:3页
时间:2018-10-07
《面向cdn的sns平台设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、面向CDN的SNS平台设计:针对SNS平台作为一个典型的odified、ETag。其中Expires和Cache-Control用来控制X页缓存的失效日期,Last-Modified和ETag用来验证X页的有效性。 Expires字段声明了一个X页或URL地址被X页缓存的截止时间,如下所示: 这是sina的logo图片,它的过期时间是2026年8月17日。 Cache-Control字段中可以声明的元素较多,例如no-cache,must-revalidate,max-age=0等。这些元素用来表明X页被缓存的最大时长,X页内容是如何被缓存的,是如何被转换到另一个不同的媒
2、介的,以及如何被存放在持久媒介中的。但是任何一个Cache-Control指令都不能保证隐私性或者数据的安全性。“private”和“no-store”指令可以为隐私性和安全性方面提供一些帮助,但是他们并不能用于替代身份验证和加密。 Last-Modified和ETag是条件请求(ConditionalRequest)相关的两个字段。如果一个缓存收到了针对一个页面的请求,它发送一个验证请求询问服务器页面是否已经更改,在HTTP头里面带上”ETag”和”IfModifySince”头。服务器根据这些信息判断是否有更新信息,如果没有,就返回HTTP304(NotModify);如
3、果有更新,返回HTTP200和更新的页面内容,并且携带新的”ETag”和”LastModified”。使用这个机制,能够避免重复发送文件给浏览器,不过仍然会产生一个HTTP请求。 3.3CDN控制实现 由于本系统是基于Apache服务器,Apache的expires_module模块可以在Http响应头部自动加上Expires字段,同时Apache服务器的mod_cern_meta模块可以配置Cache-Control头(或任何其他头)。响应头文件是放在原始目录的子目录中,根据原始文件名所命名的一个文件。其中Cache-Control:max-age表示失效日期。如果没有启
4、动mod_cern_meta模块,Apache服务器会把Expires字段中的日期换算成以秒为单位的一个delta值,赋值给max-age。如果启动mod_cern_meta模块,并且配置了max-age值,Apache会将这个覆盖Expires字段。同时,max-age隐含了Canche-Control:public。这样浏览器接受到的Cache-Control:max-age和Expires值就是一致的。 对于Last-Modified而言,一般纯静态页面本身都会有Last-Modified信息,Apache服务器会读取页面文件中的Last-Modified信息,并添加到
5、http响应头部。对于动态页面,如果在页面内部没有通过函数强制加上Last-Modified,例如header(”Last-Modified:”.gmdate(”D,dMYH:i:s”).”GMT”),Apache服务器会把当前时间作为Last-Modified,返回给浏览器。基于以上所述,基本配置如下: 4、结语 CDN与传统内容发布模式比较起来更强调X络的重要性。它通过内容管理和全局负载均衡等技术实现内容的高效分发。为了缓解SNS站点高用户黏性,高在线率所带来的数据库并发请求压力,国内外绝大多数SNS站点都使用了CDN方案。据统计。使用CDN后的SNS站点平均响应时间能
6、提高50%以上,大大增强了用户体验。
此文档下载收益归作者所有