当你在浏览器输入网址按下回车时,你的电脑究极发生了什么?(一文详解网络请求)

本文探讨的最复杂的网络情况,所以力争解决你的所有困扰

例如我访问的网址是:niu.bi.com

1.DNS 解析

重要概念:域名查询过程是从右往左的!即查询的是时候是先找.com,再找bi.com,再找niu.bi.com的,但是查询的时候是从低往高查的,即先本地,再顶级,权威,根服务器的(扫盲看这:DNS详解)

好的,经历DNS查询后,现在我们已经知道了niu.bi.com对应的服务器ip地址…………

吗?

CDN加速(内容分发网络(Content Delivery Network))

当目标网站开启了CDN加速后,你通过DNS解析查询的地址,其实查询到的是CDN的服务器地址!!!

WTF?!为什么要有这东西?

注意看,有个男孩叫小帅,他在中国上海,而niu.bi.com服务器在美国纽约
现在小帅访问niu.bi.com网站时,已知光速每秒传播距离是30万公里,而且这是直线的速度,网络访问是通过线缆光纤传输的,意味着从上海到纽约的网络限速可能远远大于直线距离,以及还有网络拥塞的问题,比如这距离有2万公里,但是线缆的长度一定大于这个数,咱们就算3万公里,好,那么你发过去对方还得给你返回吧?一来一回是不是有6万公里?运气好你在碰上个堵车什么的,你说你等的住不?
所以,这就是CDN的作用,当开启了CDN之后,CDN服务商发现,哟?你还要去美国,我找了下刚好在杭州我有个服务器,那里缓存了你想要的东西,东西给你了,不用去美国啦!从6万公里这下缩减到了来回200公里,你说快不快?!

贵的东西,一定有他贵的道理

所以一般CDN,都是付费的,但是也有免费的
比如Cloudflare(国际),jsDelivr(国际),bootcdn(中国大陆)
CDN就像一个中介,如果CDN发现你要的东西他没有,那么他就会向你本来的服务器请求资源,拿到后发给你再自己的服务器上保存一份,下次你再访问的时候,他就会直接给你啦
现在已知CDN的服务器,那么就开始握手了,注意,在这里的握手是指的是你和CDN服务器的握手,接下来就引出了著名的 tcp 三次握手四次挥手

握手和挥手是分开!!!!不是交替运行的!

三次握手,指的是请求建立时期的请求,在这个时期所有的请求都属于握手流程!
四次挥手,指的是断开时期的请求,在这个时期所有的请求都属于挥手流程!
"三次握手"和"四次挥手

你可能感兴趣的:(网络,计算机网络,请求,https,websocke)