当用户访问一个网站时,客户端直接从源站点获取数据,当服务器访问量大时会影响访问速度,影响用户体验,且无法保证客户端与源站点间的距离足够短,适合传输数据。CDN(内容分发网络),解决的正是如何将数据快速可靠地从源站点传递到客户端。通过数据分发,用户可以从一个距离较近的服务器获取数据,而不是源站点,从大达实现快速访问,减少源站点负载均衡的压力。

用户第一次访问网站后,网站的一些静态资源如图片等会被下载到本地,作为缓存,当用户第二次访问该网站的时候,浏览器就会从缓存中加载资源,不用向服务器请求资源,从而提高了网站的访问速度。若使用了CDN缓存,当浏览器本地缓存的资源过期后,浏览器不是直接向源站点请求资源,而是向CDN边缘请求资源。若CDN中的缓存过期,那就由CDN边缘节点向源站点发出回源请求来获取最新资源。

CDN节点缓存机制在不同服务商中是不同的,但一般都遵循HTTP协议,通过http响应头中的Cache-Control:max-age的字段来设置CDN节点文件缓存时间。当客户端向CDN节点请求数据时,CDN会判断缓存数据是否过期,若没有过期,则直接将缓存数据返回给客户端,否则就向源站点发出请求,从源站点拉取最新数据,更新本地缓存,并将最新数据返回给客户端。CDN服务商一般会提供基于文件后缀、目录多个维度来指定CDN缓存时间,为用户提供更精细化的缓存管理。CDN缓存时间会对“回源率”产生直接的影响,若CDN缓存时间短,则数据经常失效,导致频繁回源,增加了源站的负载,同时也增大了访问延时;若缓存时间长,数据更新时间慢,因此需要针对不同的业务需求来选择特定的数据缓存管理。




*觉得有用可以关注博主哦,如果再不能相遇,祝你早午晚都安。。。

CDN 缓存机制阐述相关推荐

  1. Java缓存学习:CDN缓存机制

    CDN是什么? 关于CDN是什么,此前网友详细介绍过. CDN是Content Delivery Network的简称,即"内容分发网络"的意思.一般我们所说的CDN加速,一般是指 ...

  2. WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发)

    WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发) 目录 WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发) 概述 HTTP解析 HTTP请求头 HTTP响应头 H ...

  3. Web缓存机制(浏览器缓存 CDN缓存 DNS缓存)

    在本片文章中,将阅读到的内容有: web缓存的类型 1.1数据库数据缓存 1.2 服务器端缓存 1.2.1 代理服务器缓存 1.2.2 CDN缓存 1.2.3 DNS缓存 1.3 浏览器端缓存 1.3 ...

  4. HTTP缓存机制与CDN

    前提:周末看视频了解到一个关键词,http缓存,然后顺带这了解了一下cdn web应用程序的缓存大致分为数据库缓存,服务器端缓存(redis以及CDN 等缓存).本地缓存. 本地缓存还包含很多内容:h ...

  5. 多节点CDN缓存加速系统wdcdn2.4版本发布(20111213)

    多节点CDN缓存加速系统wdcdn2.4版本发布(20111213) Wdcdn是一套基于Linux+apache+squid架构开发的CDN缓存加速系统及管理系统 可帮助大中小站长或大中小企业低成本 ...

  6. 浏览器HTTP缓存机制

    介绍HTTP缓存之前先简单说一下Web缓存 Web缓存是一种保存Web资源副本并在下次请求时直接使用该副本的技术. Web缓存可以分为这几种:浏览器缓存.CDN缓存.服务器缓存.数据库数据缓存 .因为 ...

  7. max点缓存烘焙帧_深入理解浏览器的缓存机制

    一.前言 缓存可以说是性能优化中简单高效的一种优化方式了.一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷. 对于一个数据请求来说,可 ...

  8. 缓存(CDN缓存,浏览器(客户端)缓存)

    1.什么是缓存? 缓存是一种数据结构,用于快速查找以及执行的操作结果.因此,如果一个操作执行起来很慢,对于常用的输入数据就可以将操作的结果缓存,并在下次调用该操作时使用缓存的数据. 缓存是一个到处都存 ...

  9. http缓存机制和原理详解

    [背景] http1.1 http1.1 是1997年开始使用的. http是一种协议,用于传输浏览器发送的数据并接收由http server响应的数据. 浏览器就是解释html语言等内容的. htt ...

最新文章

  1. LeetCode-笔记-523. 连续的子数组和
  2. proe5.0安装教程
  3. 一个div压在另一个div上面_【CSS小分享】用CSS画一个新拟态风格键盘
  4. 如何使用功能性JavaScript编写经典游戏Snake并在浏览器中播放-完整的代码示例教程
  5. 【实践驱动开发3-004】TI WL1835MODCOM8 在android的移植 - 系统结构初始化和参考列表
  6. 微信语音识别及网页获取用户信息
  7. ffmpeg下载rtmp flv
  8. as3 socket 跨域连接
  9. 以太坊虚拟机 EVM(4)分布式存储架构设计(FISCO BCOS为例)
  10. 域名IP段批量生成器源码
  11. NFC卡模拟之模拟卡ID
  12. 英文科技论文写作中常见的问题和技巧(自用整理)
  13. 什么是Mbps、Mbs、MBs
  14. python中让输出不换行
  15. 注意了,BCH的0手续费交易已经来了
  16. 如何使用ssh连接windows?
  17. 华为防火墙配置基于源地址的策略路由
  18. 安全合规/GDPR--24--研究:GDPR合规体系设立与执行
  19. MySQL优化之Explain
  20. 外卖派单模拟系统C语言代码,GitHub - Sndav/SuperDeliver: 外卖派单模拟系统大作业

热门文章

  1. SpringInAction--Bean参数的自动注入
  2. numpy之array展开
  3. pythonxy官网下载_GitHub - leior/codeparkshare: Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐...
  4. Apache+Tomcat+Php+Mysql的集成
  5. Flink批处理metaspace内存溢出问题
  6. 批量处理幻灯片图片格式
  7. 开销(Overhead)究竟是什么?
  8. 2008年评出的最搞笑的笑话
  9. 说一个奇奇怪怪的知识点,uniapp,公众号页面,uni.chooseImage只能相机或者相册选,不能同时使用两种方式sourceType:['camera','album']...
  10. annotate()函数--matplotlib