cdn简单理解_简单地聊聊CDN原理作用及实现方法

释放双眼,带上耳机,听听看~!

相信只要会网上冲浪的都会接触到CDN吧,今天我们来聊聊对CDN的理解,给大家作为参考,本文将会以简单的描述来解释相关原理,供大家理解,希望相关专业同学进行补充哦。

1.什么是CDN

CDN是Content Delivery Network的缩写,即内容分发网络。我们先从字面意思进行理解,内容即我们在网页上请求的内容;分发,即将内容分发下去;网络,即针对网络模型进行操作。简单来说CDN就是将网站上内容先发布到离用户最近的网络节点上,这样当你请求该网站内容时,便可以快速响应,优化相应速度。

2.CDN的原理和作用

在聊到CDN之前,我们先简单聊聊网络请求的简单模型,这里不聊OSI模型的相关知识。当我们在浏览器中输出网址时,浏览器首先会将该网址发送到DNS服务器来获取该域名的ip地址,得到ip地址之后,再利用ip地址访问站点服务器,然后站点服务器发送回网页内容。当然中间过程十分复杂,这里就不过多讲解。

CDN将用户和站点服务器的连接切开,加入了一个新的缓存区,用户获取内容不是直接通过站点服务器,而实通过访问CDN节点来获取网页内容。简单的流程就是,首先用户发送访问请求,智能调度DNS为用户分配适合的CDN节点的ip地址,用户利用该ip地址来获取CDN节点上的内容。CDN节点的内容由站点服务器进行发送,CDN节点再给用户发送内容的同时,也在缓存服务器本地保存了相关内容供下一次用户进行访问。

加入CDN之后解决了以下问题:

从技术上解决了服务器因为带宽小,访问人数多,造成访问速度过慢得问题;

提高服务器的安全性;

改善网络的服务质量,提高网站服务的承载能力,提高用户访问网站的相应速度。

3.如何如何设置开通设置CDN

由于我是用的是阿里云的服务器,所以用阿里云为例。阿里的学生服务器带宽为1M(现在可以选5m的轻量应用服务器),如果只是用来构建博客应该是没有问题的,由于我的博客基本上没有什么访问量,所以也不需要使用CDN,阿里云及其他云提供商也提供了免费的CDN设置教程,这里就不过多讲解了。

4.总结

对于个人博客这类网站而言,访问量不大,可能不需要CDN服务,本期内容主要是为大家简单讲解一下CDN的原理,当然其中很多内容都没有讲到,有兴趣的同学可以多看些资料进行学习。最近特殊时期,希望大家尽量呆在家里,保护好自己哦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348163.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JDK 10:FutureTask获取一个toString()

我已经有很长时间了,对于大多数具有独特属性的Java类,开发人员应该花时间重写Object.toString() ,即使它只是通过IDE生成的实现或使用诸如Apache之类的库类来实现Commons Lang的ToStringBuilder 。 如果要手动实现toSt…

【强化学习】A3C代码注释版本

########################################## # A3C做出的改进: # 解决AC难以收敛的问题 # 不一样的地方: #import threading # import tensorflow as tf import tensorflow.compat.v1 as tftf.compat.v1.disable_eager_execution() import numpy as np …

用python做人脸识别的程序怎么做_手把手教你用Python实现人脸识别

作者:Kangvcar简书专栏:http://www.jianshu.com/u/d9c480744afd环境要求:Ubuntu17.10Python 2.7.14环境搭建:1. 安装 Ubuntu17.10 > 安装步骤在这里2. 安装 Python2.7.14 (Ubuntu17.10 默认Python版本为2.7.14)3. 安装 git 、c…

【强化学习】PPO代码注释版本

# PPO主要通过限制新旧策略的比率,那些远离旧策略的改变不会发生# import tensorflow as tf import tensorflow.compat.v1 as tf tf.compat.v1.disable_eager_execution() import numpy as np import matplotlib.pyplot as plt import gym# 定义一些超级参量 EP_MAX…

【强化学习】可视化学习tensorboard

tensorflow定义了一个图结构: 代码: a tf.constant(3.0, name"a")b tf.constant(4.0, name"b")c tf.add(a, b, name"add")var tf.Variable(tf.random_normal([2, 3], mean0.0, stddev1.0), name"variable"…

面向初学者的JSF 2.0教程

1.什么是JSF? JSF是Java Server Faces的首字母缩写。 它是一种服务器端处理技术,它允许将服务器端代码嵌入到网页中。 由于可以将服务器端处理和呈现代码嵌入网页本身,因此使项目的整体编码更加简单。 减少总体数量以及文件大小。 JSF包含2个…

篡改referer_HTTP_REFERER的用法及伪造

引言在php中,可以使用$_SERVER[‘HTTP_REFERER’]来获取HTTP_REFERER信息,关于HTTP_REFERER,php文档中的描述如下:“引导用户代理到当前页的前一页的地址(如果存在)。由 user agent 设置决定。并不是所有的用户代理都会设置该项&a…

华为nova7保密柜_华为发布nova8系列新品 轻松拍出Vlog黄金脸占比

2020年12月23日,华为nova8系列手机正式发布。作为深受年轻人喜爱的手机品牌之一,华为nova8系列此次延续其强大的前置视觉实力、强悍的设计性能以及独特的设计美学,带来业内首款专为Vlog拍摄设计的5G手机。随着短视频和Vlog的崛起,…

从拉格朗日乘数法到KKT条件

从拉格朗日乘数法到KKT条件 最近看论文遇到了Karush–Kuhn–Tucker (KKT)条件,想搞清楚这是个什么东东,因此就把这个东西认真学习一下并且分享出来,希望对大家有用。学习KKT就不得不先学习一下拉格朗日乘数法&#xf…

26.0.0-alpha1_WildFly 8.0.0.Alpha1的发布和一些历史

26.0.0-alpha1自从我们发布WildFly 8.0.0.Alpha1版本以来, 已经过去了大约2周。 该下载位于WildFly下载页面上 。 我敢肯定,你们中的许多人可能会想知道WildFly是什么,而其中一些知道它是什么的人可能不会知道已经发布了。 我将尝试回答其中的…

单机最大负载_分布式高可靠之负载均衡,今天看了你肯定会

到目前为止,我已经为你介绍了分布式起源、分布式协调与同步、分布式资源管理与负载调度、分布式计算技术、分布式通信技术和分布式数据存储。可以说,掌握了这些内容,基本上就掌握了分布式的关键技术。然而,只有可靠的分布式系统才…

【强化学习】一文带你理清强化学习

整理不易,希望留个赞再走哦!! 学习路线 这个图描述的比较清晰,蓝框里是整个强化学习的一些概念基础了,橙色是一些学习方法,可以针对性的选择一些,废话不多说,接下来就按照这个路线图…

了解Java缓冲池

了解Java缓冲池 缓冲池空间位于垃圾收集器管理的内存之外。 这是分配本地堆外内存的一种方法。 使用缓冲池有什么好处? 为了回答这个问题,让我们首先了解什么是字节缓冲区。 字节缓冲区 非直接缓冲区 ByteBuffer类附带了java.nio包。 它允许我们分配直接…

java 循环拼接字符串用分号隔开_Java 8中字符串拼接新姿势:StringJoiner

在为什么阿里巴巴不建议在for循环中使用””进行字符串拼接一文中,我们介绍了几种Java中字符串拼接的方式,以及优缺点。其中还有一个重要的拼接方式我没有介绍,那就是Java 8中提供的StringJoiner ,本文就来介绍一下这个字符串拼接…

module ‘tensorflow_core.compat.v1‘ has no attribute ‘contrib‘问题的完美解决

问题描述&#xff1a; Instructions for updating: Use keras.layers.Dense instead. Traceback (most recent call last):File "run_cnn.py", line 200, in <module>model TextCNN(config)File "D:\MY DATA\学习资料\研究生\深度学习\text-classificat…

doctrine find的对象转换成数组_「ES6基础」Array数组的新方法(上)

在日常工作中我们经常会与数组打交道&#xff0c;因此需要熟练掌握数组操作的相关方法&#xff0c;ES6中关于数组的操作&#xff0c;又给我们带来了哪些惊喜呢&#xff0c;Array数组操作又添加了哪些新方法&#xff1f;本篇文章将从以下几个方面进行介绍&#xff1a;Array.from…

No module named ‘__main__.common‘; ‘__main__‘ is not a package

今天在调通代码时遇到一个难缠的bug,源代码如下&#xff1a; from .common import _FLOATX, _EPSILON结果报错&#xff1a; 问题原因&#xff1a; 也就是说&#xff0c;这是相对导入&#xff0c;只有在父模块在当前运行环境中被导入过才能用。 这揭示了报错的缘由&#xff0…

spring 异步返回结果_使用Spring Integration聚合异步结果

spring 异步返回结果嗨&#xff0c;我遇到了一个问题&#xff0c;该问题使用Spring Integration解决方案非常好。 很多时候&#xff0c;我们需要一种将消息分发到未知数量的目的地的方案。 为此&#xff0c;我们使用主题方法。 但是有时&#xff0c;我们还希望从收到消息的所有…

ValueError( Shape(4, ?, 1, 20) and () are incompatible

报错&#xff1a; 解决&#xff1a; 将文件中的return tf.concat(axis, tensors) 改为&#xff1a;return tf.concat(tensors, axis)问题完美解决

adadelta算法_对C++用户比较友好的机器学习算法库

由于疫情影响&#xff0c;这几天在家学习编程&#xff0c;整理了基于c语言的机器学习算法库。目前大部分机器学习库都是面向pyhton语言的&#xff0c;尽管很python包的底层语言是c&#xff0c;但c用户使用起来很麻烦&#xff0c;这里整理了一些对c比较优化的机器学习算法库&…