CDN技术之--内容缓存工作原理
有CDN前的网站服务技术
–硬件扩展:高成本,灵活性和可扩展性比较差
–镜像技术(mirroring):
镜像服务器安装有一个可以进行自动远程备份的软件,每隔一定时间,各个镜像服务器就会到网站的源服务器上去获取最新的内容
–缓存技术(caching):缓存代理缓存被访问过的内容,后续的相同内容访问直接通过缓存代理获得服务
–CDN:是缓存技术的基础上发展起来的,是缓存的分布式集群实现
从技术层面看,Web架构的精华有三处:
–超文本技术HTML实现信息与信息的连接;
–统一资源标志符URI实现全球信息的精确定位
–应用层协议HTTP实现分布式的信息共享
TCP连接在每一次HTTP(HTTP 1.0)请求和响应完成后就关闭,如果客户端还要请求其他对象,需要重新为每个对象建立TCP连接。
当一个Web页面内包含多个对象并全部显示时,客户端需要与服务器建立的TCP连接数较多,对整个时延和网络流量造成了较大的影响
HTTP1.1采用了效率更高 的持续连接机制,即客户端和服务器端建立TCP连接后,
后续相关联的HTTP请求可以重复利用已经建立起来的TCP连接,
不仅整个Web页面(包括基本的 HTML文件和其他对象)可以使用这个持续的TCP连接来完成HTTP请求和响应,
而且同一个服务器内的多个Web页面也可以通过同一个持续TCP连接来请求和响应。
通常情况下,这个持续的TCP连接会在空闲一段特定的时间后关闭,而这个最大空闲时间时可以设置的(连接复用)。
HTTP协议中的缓存技术:新鲜度(时间值)和验证(验证信息如ETag或last-modified)时确定内容可否直接提供服务的最重要依据。
如果缓存内容足够新鲜,缓存的内容就 能直接满足HTTP访问的需求了;
如果内容过期,而经源服务器验证后发现内容没有发生变化,缓存服务器也会避免将内容从源服务器重新传输一遍。
如果要通过META标签来控制页面不缓存,
一般情况下会在Web页面的<head>区域中增加”pragma:no-cache”验证的目的就是检验缓存内容是否可用。
当中间缓存存在一个过期的缓存内容,并且对应的访问请求到达时,
缓存应该首先向源服务器或者其他保存有未过期的缓存服务器请求验证来确定本地的缓存内容是否可用。
(缓存内容过期,但源服务器没有更新内容,即缓存内容仍可用)
HTTP1.1介绍了cache-control显示指令来让网站发布者可以更全面地控制他们的内容,并对过期时间进行限制(控制是否缓存,怎么缓存)
HTTP gzip压缩:大多数情况需要压缩的文件时网页中出现最频繁的HTML、CSS、javascript、XML等文件,
这类本身是没有经过压缩的文本文件,可以取得较好的压缩效果
Web缓存代理软件:Squid
负载均衡软件:Nginx
DNS服务器软件:BIND
备注:随笔中内容来源于网上资料整理,仅供参考。
CDN技术之--内容缓存工作原理的更多相关文章
- CDN技术详解及实现原理
CDN技术详解 一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精 ...
- MakeFile文件是什么——内容、工作原理、作用、使用
MakeFile文件是什么?它里面包含什么内容.具有什么作用.怎么使用?下面就来具体说说. 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你 ...
- 技术分享:JS工作原理
一 浏览器组成可分两部分:Shell+内核. 浏览器内核又可以分成两部分:渲染引擎(layout engineer或者Rendering Engine)和JS引擎. 渲染引擎功能作用 渲染引擎,负责对 ...
- 什么是RFID? 射频识别技术的特点及工作原理!
RFID即Radio Frequency Identifcation,就是射频识别技术,这篇给大家讲述的就是这个射频识别技术.这里就涉及到射频,电磁学等等知识.看完这篇,你应该会对这些知识有些了解,大 ...
- SpringBoot 缓存工作原理
1. 自动配置类:CacheAutoConfiguration 2. 缓存的配置类: org.springframework.boot.autoconfigure.cache.GenericCache ...
- CDN技术介绍
CDN技术介绍 一.CDN概述 1.1 CDN定义 CDN即Content Delivery Network (内容分发网络).CDN是建立在现有IP网络基础结构之上的一种增值网络.是在应用层部署的一 ...
- 【转载】视频CDN技术原理与流程说明
视频CDN专为移动互联网视频内容分发量身定做的一套自主研发的分布式平台,该平台以深圳为中心,分布在全国各地BGP机房的服务器为边缘节点,汇聚中国电信.中国联通.中国移动.中国教育网等运营商网络资源,构 ...
- web基础-web工作原理,http协议,浏览器缓存
1,web工作原理 2,http协议 3,浏览器缓存 4,cookie和session -------------------------------------------------------- ...
- 聊聊高并发(三十四)Java内存模型那些事(二)理解CPU快速缓存的工作原理
在上一篇聊聊高并发(三十三)从一致性(Consistency)的角度理解Java内存模型 我们说了Java内存模型是一个语言级别的内存模型抽象.它屏蔽了底层硬件实现内存一致性需求的差异,提供了对上层的 ...
随机推荐
- Microsoft SQL Server(sql server 关系型数据库管理系统)
sql server一般指Microsoft SQL Server 关系型数据库管理系统 Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级 ...
- The Rotation Game
题目链接 题意:有八种操作棋盘进行移动,使得中间8个数字一样,问·最短移动步数及如何移动. 思路:dfs,因为当中间八个数字中有m个数字不同时,至少需要m次操作,将这个m作为估值.
- Bugku | 游戏过关
思路:绕过判断,直接跳转到算flag的函数哪里 1.找到计算flag的函数在哪里,记住 "0075e940",这是入口 2.找到一个现成的跳转指令,修改它: 3.重新运行一遍,得到 ...
- [CSP-S模拟测试]:涂色游戏(DP+组合数+矩阵快速幂)
题目描述 小$A$和小$B$在做游戏.他们找到了一个$n$行$m$列呈网格状的画板.小$A$拿出了$p$支不同颜色的画笔,开始在上面涂色.看到小$A$涂好的画板,小$B$觉得颜色太单调了,于是把画板擦 ...
- js中打地鼠游戏
<!DOCTYPE html><html lang=""><head> <mata charset = "utf-8" ...
- MySQL-5.7填坑
绿色版(zip archive 版)无 my-default.ini As of MySQL 5.7.18, my-default.ini is no longer included in or in ...
- Ubuntu18.10下出现Could not get lock /var/lib/dpkg/lock的错误
最近在Windows10系统下使用Oracle VM VirtualBox6.0.2下安装的Ubuntu18.10时,运用sudo apt-get install 安装pkg-config工具,在终 ...
- C语言深度剖析自测题8解析
#include <stdio.h> int main(void) { int a[5] = {1, 2, 3, 4, 5}; int* ptr1 = (int*)(&a ...
- JavaScript 标准参考教程(alpha) 阮一峰
JavaScript 标准参考教程(alpha)http://javascript.ruanyifeng.com/#introduction
- Centos7 安装rar,unrar,zip,unzip
1.yum 安装unrar # yum install unrar rar命令 # rar a test.rar test.jpg test.png 这条命令是将test.jpg和test.png压缩 ...