Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >CDN服务器和SNI机制

CDN服务器和SNI机制

原创
作者头像
大发明家
发布于 2021-12-15 07:32:45
发布于 2021-12-15 07:32:45
2.6K0
举报
文章被收录于专栏:技术博客文章技术博客文章

域名系统(Domain Name

System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网

分类
正向解析

根据主机名(域名)查找对应的IP地址

反向解析

根据IP地址查找对应的主机名(域名)

关于DNS的案例分析

在cmd中ping zhihu.com,得到知乎的IP地址为:118.89.204.192

在浏览器中输入得到的IP地址118.89.204.192后发现返回400错误,被拒绝访问

在cmd中ping baidu.com,得到百度的IP地址为:220.181.57.216

在浏览器中输入得到的IP地址220.181.57.216后发现可以成功访问百度

同样的操作步骤,为什么百度就可以用解析的IP地址访问,而知乎不可以呢?原因→_→

CDN服务器

可以说是一种缓存服务器。当我们要访问某个网站的资源时,如果该网站的服务器离我们很远,这样的话响应速度就会很慢,为了让响应速度快一些,我们可以把资源分布放在各个地方,然后响应客户端的时候,把离客户端较近的资源传送给他

SNI机制

(Server Name Indication)是 TLS 的扩展,用来解决一个服务器拥有多个域名的情况。在客户端和服务端建立 HTTPS 的过程中要先进行

TLS 握手,握手后会将 HTTP 报文使用协商好的密钥加密传输。在 TLS

握手信息中并没有携带客户端要访问的目标地址。这样会导致一个问题,如果一台服务器有多个虚拟主机,且每个主机的域名不一样,使用了不一样的证书,该和哪台虚拟主机进行通信?和

HTTP 协议用来解决服务器多域名的方案类似,HTTP 在请求头中使用 Host 字段来指定要访问的域名。TLS 的做法,也是加 Host,在 TLS

握手第一阶段 ClientHello 的报文中添加。

这里的Servername就是要访问的域名

DNS案例分析.png

ipv4的ip地址是非常有限的,如果每个人都想拥有一个全球ip,那肯定是不够分配的,很多网站在发布的时候,是有可能几个域名共用一个CDN服务器的。当我们用域名访问知乎的时候,CDN服务器可以根据访问的域名知道你想要的是哪个网站的资源,然后直接给你返回对应的资源。但是当你用公网ip访问就不一样了,由于一个CDN服务器的公网ip对应多个域名网站,他不知道你想要的是哪个网站的资源,也就是说,当你用

118.89.204.192 去访问知乎的时候,CDN服务器不知道你要访问的是 zhihu.com,还是访问 a.com 或 b.com,所以会拒绝你的请求

CDN服务器.png

问题是我输入域名之后,DNS服务器帮我自动解析成对应的ip,去访问知乎的时候,也还是用ip访问的啊,这貌似和ip访问没啥区别啊

确实,访问的时候,DNS服务器都会帮们我把域名解析成ip去访问,CDN服务器之所以能够检测到对应的域名,是因为当客户端用域名访问知乎的时候,DNS会解析成对应的ip去访问CDN服务器,然后CDN服务器可以根据SNI机制获得该IP对应的来源域名,然后返回对应的资源

为什么百度ip和域名都可以访问呢?因为百度用的CDN服务器,只对应一个网站域名,因此用域名还是IP地址访问的效果都是一样的

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
为啥 ping 得到的 ip 可以访问百度,而知乎不可以?
我们知道,ipv4的ip地址是非常有限的,如果每个人都想拥有一个全球ip,那肯定是不够分配的,不知道啥是全球ip的可以看我这篇文章:谈谈NAT:什么?全球IP和私有IP是什么鬼?
编程文青李狗蛋
2019/11/07
1.5K0
为啥 ping 得到的 ip 可以访问百度,而知乎不可以?
都用HTTPS了,还能被查出浏览记录?
最近,群里一个刚入职的小伙因为用公司电脑访问奇怪的网站,被约谈了。他很困惑 —— 访问的都是HTTPS的网站,公司咋知道他访问了啥?
公众号@魔术师卡颂
2023/08/30
9430
都用HTTPS了,还能被查出浏览记录?
Java程序员,如果你想要搞明白CDN,这篇应该够了!
最近在了解边缘计算,发现我们经常听说的CDN也是边缘计算里的一部分。那么说到CDN,好像只知道它中文叫做内容分发网络。那么具体CDN的原理是什么?能够为用户在浏览网站时带来什么好处呢?解决这两个问题是本文的目的。
秃顶的Java程序员
2020/03/23
2.8K0
Java程序员,如果你想要搞明白CDN,这篇应该够了!
在浏览器地址栏输入百度网址之后的故事(面试必考)
面试的时候,面试官经常会问这样的问题,我在浏览器地址栏输入”www.baidu.com”,之后发生了哪些事情呢,这个问题其实是想问你与网页访问有关的网络协议,下面我们就来简单梳理一下,如何比较得体的回答这个问题。 Step 1:地址解析。 如果是首次访问百度,输入地址回车后,浏览器访问系统Host文件从中寻找www.baidu.com对应的IP地址(Windows默认的host文件基本是空的,所以这步执行不会成功)。没有找到对应IP地址,则主机向DNS服务器发送请求,DNS服务器解析到域名对应的IP并返回。
Steve Wang
2018/02/05
1.5K0
在浏览器地址栏输入百度网址之后的故事(面试必考)
CloudFlare搞了个新技术,把你浏览的网站隐藏起来了!
你有没有想过,当你在深夜访问XXXHub网站的时候,你电脑/手机发出的网络数据包被人在网络中间某个节点捕获,从而知道了你访问了XXXHub。
轩辕之风
2023/10/25
2.3K0
CloudFlare搞了个新技术,把你浏览的网站隐藏起来了!
浏览器的一个请求从发送到返回都经历了什么?
参考 :http://www.cnblogs.com/echo-hui/p/9298203.html
海仔
2019/08/06
1.7K0
浏览器的一个请求从发送到返回都经历了什么?
DNS服务器
DNS(Domain Name Server),域名服务器,其作用是提供域名 解析ip(正向解析),ip解析域名(反向解析) 的服务。
阿七日记
2021/12/28
6.5K0
DNS服务器
为了搞清楚CDN的原理,我头都秃了...
原文地址:https://juejin.cn/post/6944420222757503006
winty
2021/05/20
3.9K0
记一次 HTTPS 抓包分析和 SNI 的思考
日常听说 HTTPS 是加密协议,那现实中的 HTTPS 流量,是真的完全加密吗?
仁扬
2023/07/31
8930
一文读懂CDN和CDN实现的原理
百度百科CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
星哥玩云
2022/05/28
4.5K0
一文读懂CDN和CDN实现的原理
从URL开始,定位世界 | 洞见
从我们输入URL并按下回车键到看到网页结果之间发生了什么?换句话说,一张网页,要经历怎样的过程,才能抵达用户面前?下面来从一些细节上面尝试一下探寻里面的秘密。 ---- 前言:键盘与硬件中断 说到输入URL,当然是从手敲键盘开始。对于键盘,生活中用到的最常见的键盘有两种:薄膜键盘、机械键盘。 薄膜键盘:由面板、上电路、隔离层、下电路构成。有外观优美、寿命较长、成本低廉的特点,是最为流行的键盘种类。键盘中有一整张双层胶膜,通过胶膜提供按键的回弹力,利用薄膜被按下时按键处碳心于线路的接触来控制按键触发。 机械
ThoughtWorks
2018/04/17
9240
从URL开始,定位世界 | 洞见
天天说架构,那CDN到底是什么?
浏览器输入域名后,DNS将域名解析为地址,然后请求该地址,返回一个网页。 这个过程就像你买个东西,先查找商店位置,然后找到想要的商品,拿回家。
JavaEdge
2021/10/18
7440
从输入url开始能做哪些优化
此文主要讲的事情是如何让用户快点看到首屏页面,其主要影响因素是延迟和解析渲染耗时。有关安全部分其实也是优化的一部分。我们着重说下网络部分。
wangxl
2018/07/27
1.1K0
全面理解DNS及HTTPDNS
移动场景下DNS解析开销是整个网络请求中不可忽略的一部分。在弱网环境下,基于UDP的LocalDNS解析非常容易出现解析超时的问题,并且即使解析成功会消耗数百毫秒乃至更甚,对我们整个业务请求而言是非常不利的,它直接影响了客户的体验。
架构之家
2022/07/12
2.8K0
全面理解DNS及HTTPDNS
使用CDN配合轻量应用服务器给网站加速
首先准备好轻量应用服务器、域名,将域名解析到服务器公网ip,如果使用境内服务器需要提前备案域名,否则解析会被阻断。
4O4
2022/06/09
10.2K2
使用CDN配合轻量应用服务器给网站加速
记录一些服务端术语和搭建web服务器
CS(Client/Server),基于安装包类型的桌面或手机软件模式,比如常见的QQ、微信、迅雷等等。 优点是 :基于安装包,性能更高,安全性更高。 缺点是:对于商家来说每个平台都需要开发对应的客户端安装包,比如windows/mac/android/ios上都需要开发对应的安装包;对于平台来说安装过多软件易占用系统资源;对于客户来说需要安装才能使用
tandaxia
2020/04/02
1.2K0
记录一些服务端术语和搭建web服务器
从输入URL到渲染的过程中到底发生了什么?
下面我将“从输入URL到渲染的全过程”大概的描述出来,再对其过程加以解释,了解过程中可以做哪些优化。文章内容有点长,需要有足够的耐心看完哟!!下面我要开始啦!
loveX001
2022/10/04
1.7K0
3分钟带你了解到底什么是CDN?
通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
网络安全自修室
2022/09/01
17.5K0
3分钟带你了解到底什么是CDN?
一篇文章弄懂CDN技术原理
概述 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因数的影响,响应速度慢还是经常抱怨和困扰。
java思维导图
2018/11/08
2.2K0
CDN的实现原理
在描述CDN的实现原理,让我们先看传统的未加缓存服务的访问过程,需要服务器请到TG@Daisy9677/@Vicky105805找我。以便了解CDN缓存访问方式与未加缓存访问方式的差别:
用户9305758
2022/01/05
1.1K0
相关推荐
为啥 ping 得到的 ip 可以访问百度,而知乎不可以?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档