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内存模型是一个语言级别的内存模型抽象.它屏蔽了底层硬件实现内存一致性需求的差异,提供了对上层的 ...
随机推荐
- 08-图8 How Long Does It Take(25 分)邻接表和队列
Given the relations of all the activities of a project, you are supposed to find the earliest comple ...
- project 计划添加编号或 任务分解时为任务添加编号
[工具]-[选项]-[视图]-选择[显示大纲数字]-[确定]
- [CF1168D]Anagram Paths
题意:给一棵\(n\)个节点的二叉树,每条边上有一个小写字母或者\(?\),\(q\)次修改操作,每次修改某条边上的字符,问修改后是否存在一种方案,使得给所有\(?\)填上小写字母后,所有叶子到根的路 ...
- paper 154:姿态估计(Hand Pose Estimation)相关总结
Awesome Works !!!! Table of Contents Conference Papers 2017 ICCV 2017 CVPR 2017 Others 2016 ECCV 20 ...
- websocket 和 http的区别
相同点: 都是基于tcp实现的,都要经过三次握手.四次挥手. 如图: 不同点: websocket 经历过连接,就可以全双工通信,不需要一直连接,降低了网络资源消耗. http 每次通讯都要连接,客户 ...
- CSS实现文字阴影的效果
CSS中有两种阴影效果,一种是DropShadow(投影),另一种是Shadow(阴影).1.DropShadow语法:{FILTER:DropShadow(Color=color,OffX=offX ...
- md5加密 和拉钩网的登录
#使用requests模块 #1.登录lagou #2.登录人人,保存个人首页 import requests from urllib import parse #hashlib是MD5加密的一个py ...
- java多线程学习笔记(七)
volatile关键字 关键字volatile的主要作用是使变量在多个线程间可见. public class PrintString { private boolean isContinue = tr ...
- Get column value of Flex Datagrid by QTP
' get the number of rows in the tablerowCount=Browser("Browser").FlexApplication("App ...
- Python多进程、多线程和协程简介
一.进程和线程 进程是一个执行中的程序.每个进程都拥有自己的地址空间.内存.数据栈以及其他用于跟踪执行的辅助数据.在单核CPU系统中的多进程,内存中可以有许多程序,但在给定一个时刻只有一个程序在运行: ...