本文旨在作学习记录(原回答链接放置本文最下方),作者在此基础上进行补充说明、整理论述,使其能以一种更为逻辑地清晰地方式表达出“CDN是什么?”的理解,可作对CDN是什么的简要了解。

一、HTML的文件引用:

HTML的文件头(也有文件中,文件尾)那边常有其他文件引用,比如CSS以及JS的引用。就以bootstrap常用的引用来举个例子,你常见的引用可能会是这样的:

<head><title>Mushroom</title><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" /><meta http-equiv="X-UA-Compatible" content="IE=9" /><!-- 引入 Bootstrap --><link href="/css/bootstrap.min.css" rel="stylesheet"><!-- jQuery (Bootstrap 的 JavaScript 插件需要引入 jQuery) --><script src="/js/jquery.min.js"></script><!-- 包括所有已编译的插件 --><script src="/js/bootstrap.min.js"></script>
</head>

这之中,<script src="/js/bootstrap.min.js"></script> 这段就是外部脚本文件的一个链接,当前的这种链接是相对URL,指向站点内的文件,即你本项目里对应路径下面放置的文件。可以在 HTML <script> 标签的 src 属性 查看这个标签的具体属性。

属性值
值 描述
URL 外部脚本的 URL。可能的值有:•绝对 URL - 指向其他站点(比如 src="www.example.com/example.js")
•相对 URL - 指向站点内的文件(比如 src="/scripts/example.js")

通过查看可以得知,URL的引用有两种方式,绝对和相对,绝对的方式就是直接引用其他站点的js地址,比如我把上方的引用改为

<script src="http://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>

这样即是引用其他站点的js。CSS文件的引用与此类似:HTML <link> 标签的 href 属性。图片以及其他文件的引用也类似,不赘述。

二、系统的资源引用

在一个网站项目中,页面里经常会有许多js以及css的引用,接触过开发项目的一般都会了解,大部分界面里的脚本引用并不是像第一步里的那么精简,如果是直接引用项目内文件的话,他们可能是这样的:

<SCRIPT src="/iforums/templates/default/js/common.js" type=text/javascript></SCRIPT>
<SCRIPT src="/iforums/templates/default/js/ajax.js" type=text/javascript></SCRIPT>
<SCRIPT type=text/javascript src="/iforums/ueditor/third-party/jquery-1.10.2.min.js"></SCRIPT>
<SCRIPT type=text/javascript src="/iforums/ueditor/ueditor.config.js"></SCRIPT>
<SCRIPT type=text/javascript src="/iforums/ueditor/ueditor.parse.js"></SCRIPT>
<SCRIPT type=text/javascript src="/iforums/ueditor/ueditor.all.js"></SCRIPT>

可能甚至引用的更多,这样将资源文件与业务代码一锅炖的方式适用于小型的,应用服务器压力并不是太大的系统(并发、带宽、存储空间、资源等等)。这种方式的优点是开发省力,发布省力,对服务器要求小,省钱,没有具体公网接入需求。许多小型,内部使用型的网站系统往往采取这种形式放置资源文件。

三、系统访问量变高了,速度变慢了怎么办

怎么办?优化系统部署呗。
        怎么优化?优化方式有很多,读写分离,负载均衡,这方面的东西可以讲上三天三夜。具体到本问题的范畴内,那就是资源服务器应用服务器的分离。粗暴的理解方式就是,就是应用放置于应用服务器(一台或者是集群),资源放置于在资源服务器(一台或者是集群),这时候,js以及css的引用就需要更改为绝对URL,指向对应的资源服务器。

四、CDN的工作实例

与传统访问方式(即客户端→服务器)不同,CDN网络则是在用户和服务器之间增加缓存节点(或叫边缘节点),根据节点路径和节点负载程度,将用户的访问请求引导到最优的缓存节点而不是服务器中心节点(或叫源站点),从而加速访问速度。若缓存节点没有目标资源,则向中心节点发出请求,将请求后的资源复制到自身节点中,并返回请求后的资源给客户端。理解如下图。

        优点简括:解决Internet网络拥堵状况,提高用户访问网络的响应速度。

五、参考

参考内容:CDN是什么?使用CDN有什么优势? - 知乎

CDN是什么?为什么要使用CDN?相关推荐

  1. 《CDN 之我见》原理篇——CDN的由来与调度

    2019独角兽企业重金招聘Python工程师标准>>> CDN是将源站内容分发至全国所有的节点,从而缩短用户查看对象的延迟,提高用户访问网站的响应速度与网站的可用性的技术.它能够有效 ...

  2. 深圳办理cdn经营许可证_申请cdn许可证变更「深圳办理cdn经营许可证」

    申请cdn许可证变更「深圳办理cdn经营许可证」伴随着互联网+的不断落地发展,智能硬件和可穿戴设备兴起,家庭互联网重度应用的普及与发展,现有的网络架构将无法承载不断增长的互联网应用和内容需求.这个时候 ...

  3. 腾讯云服务器和cdn,腾讯云服务器开启CDN及CDN开启HTTPS详细配置教程

    买了腾讯云的双十一机子,随后备案回国,毕竟机子带宽相较于国外动不动百兆来说不是很高,只有5M,很容易就能跑满.基于腾讯云每个月赠送了60G的流量,就想到何不把这60G流量用起来,将网站从原来的llss ...

  4. CDN服务器是什么意思?CDN服务器搭建部署

    CDN服务器是什么意思?CDN服务器搭建部署 什么叫CDN服务器? cdn服务器的优点和设计原理 CDN服务器搭建部署 一.CDN服务器搭建前打算(文中以LuManager来构建CDN虚拟主机) 二. ...

  5. 【十一、wordpress优化之六:CDN加速,以腾讯CDN为例】2021最详细wordpress博客建站教程(2021.03.03更新)

    通过本wordpress博客建站教程系列系列文章,你可以不懂网页代码条件下,搭建一个谷歌insight测评90分的个人博客,最低费用在每年80块.本人搭建博客小站点击下面链接即可进入:         ...

  6. cache节点、CDN的四大关键技术及CDN服务商类型

    一般来讲,CDN网络主要由中心节点.边缘节点两部分构成. CDN架构导引 最简单的CDN网络只需一台负责全局负载均衡的DNS和各节点一台Cache,即可运行.DNS支持根据用户源IP地址解析不同的IP ...

  7. G‑Core Labs CDN: 一家被忽略的高性能CDN服务商

      如想获得最佳阅读体验,请访问:G‑Core Labs CDN: 一家被忽略的高性能CDN服务商 说起 G‑Core Labs 这家公司,大部分人都表示没有听说过,只有很少一部分人表示在很早之前好像 ...

  8. cdn服务器性能要求,什么是CDN,CDN有哪些优点?(中科三方)

    原标题:什么是CDN,CDN有哪些优点?(中科三方) 据统计,超过80%的互联网用户会重复访问20%的信息资源,这一现状给缓存技术的应用提供了先决条件. 为减少网络中冗余数据的重复传输,CDN技术应运 ...

  9. 十大免费CDN加速服务排行榜-国内外免费CDN服务总结

    CDN全称Content delivery network,中文内容分发网络,目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘", ...

  10. android缓存策略跟cdn,缓存学习(五)CDN缓存(下)-CDN缓存策略、CDN缓存和浏览器缓存之间的关系、回源和回源比...

    CDN缓存策略 CDN(Content Delivery network,内容分发网络),通过GSLB技术使得用户能访问到最近物理机房的文件,以节省网络时间,也就是说一份文件可能会在全国乃至全球的多个 ...

最新文章

  1. 春天闻香食花——品尝一顿愉悦的花餐
  2. 你离理想中的数据中心,只差这五步
  3. AtCoder AGC014E Blue and Red Tree (启发式合并)
  4. 人工智能必看的 45 篇论文(附下载地址)
  5. 她13岁自己造飞机,17岁进麻省理工,3篇黑洞论文被霍金引用......
  6. 在线考试系统需求分析
  7. list 转换成datatable
  8. commands moudle on python will replace with subprocess on py3.0
  9. ubuntu16.04中ROS-Kinetic报错: not find a package configuration file provided by “gazebo_ros_control“
  10. 2019.01.01洛谷 P4725/P4726 多项式对数/指数函数(牛顿迭代)
  11. 华三交换机配置定时重启任务
  12. Java常见异常类【整理】
  13. 力士乐电源模块故障代码_REXROTH DRIVE博士力士乐伺服驱动器故障代码大全
  14. win10在哪里找到计算机,win10计算器在哪里?win10怎么调出计算器?
  15. C++ 灰度图像伪彩色处理
  16. 怎么同时给多个 Word 文档批量添加自定义的文字和图片水印
  17. 台式电脑怎么调分辨率_电脑屏幕分辨率调节方法
  18. 邓俊辉《数据结构》-向量学习笔记
  19. matlab画一元函数图
  20. 曾国藩:利可共而不可独,谋可寡而不可众

热门文章

  1. 航拍南山区九个公园相关全景VR解读
  2. esp32c3使用FATFS
  3. 欧洲杯案例(数据过滤和排序)
  4. 基于Power BI的终端产品销售ABC分析
  5. Python开发植物大战僵尸游戏,详细教程
  6. 宇枫资本投资理财心想事成
  7. iOS 仿支付宝首页样式
  8. nanosim 仿真
  9. 一文了解互联网中的运营
  10. Python新闻联播词频统计