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内存模型是一个语言级别的内存模型抽象.它屏蔽了底层硬件实现内存一致性需求的差异,提供了对上层的 ...
随机推荐
- kafka-server.properties
# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreement ...
- vue开发微信公众号--开发准备
由于工作项目的原因,需要使用vue开发微信公众号,但是这种微信公众号更多是将APP套了一个微信的壳子,除了前面的授权和微信有关系以外,其他的都和微信没多大的关系了,特此记录 开发流程 首先需要在电脑上 ...
- 原生 js 实现 vue 的某些功能
1.数据双向绑定:https://www.cnblogs.com/yuqing-o605/p/6790709.html?utm_source=itdadao&utm_medium=referr ...
- GIT安装包备用地址
如果官网下载被禁止,可在下面这个地址下载,速度飞快 http://www.wmzhe.com/soft-38801.html#download
- 重写ArcGIS的TiledMapServiceLayer调用天地图瓦片
require(["esri/layers/TiledMapServiceLayer"], function () { dojo.declare("com.StrongI ...
- Java8 Collections.sort()及Arrays.sort()中Lambda表达式及增强版Comparator的使用
摘要:本文主要介绍Java8 中Arrays.sort()及Collections.sort()中Lambda表达式及增强版Comparator的使用. 不废话直接上代码 import com.goo ...
- UITableView 支持左右滑动(二)
原理: 用tableView其中一个cell 来展示一个 UIScrollView, 在scrollview上很像放置子tableView 注意点: 外层tableView需要实现手势代理 /* 若重 ...
- vue (UI)
- hdu3555 Bomb(数位dp)
题目传送门 Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total ...
- Centos 安装vnc / vncserver
一.安装 以root用户运行以下命令来安装vncserver; yum install tigervnc-server 同样运行以下命令来安装vncviewer; yum install vnc 停止 ...