引言
最近项目中在研究关于网络方面的知识,之前一直对该部分的内容一知半解,借着这次实战的机会,将网页访问的全流程进行深入的研究。该篇文章首先介绍网页访问的第一步,也就是DNS解析。后续可能会推出剩余流程的文章。
DNS解析
每一个访问的网站内容,均存储在服务器上,而在网络服务中,服务器的门牌号就是IP地址,每一台服务器均会有不同于别人的自己的IP地址。DNS解析的目的简单来讲,就是人们想要访问一个网址的内容,但是又记不住每一台服务器的IP,因此使用域名这一层封装,让用户与网址服务器的交互通过域名,而解析域名对应出IP地址的部分交由DNS服务器来处理。
DNS解析全流程
下面以访问www.baidu.com作为案例,分析DNS解析的全流程。图中已总结了全流程的步骤,下面对其中的几个关键点进行阐述。
- 域名重定向 有时我们在浏览器输入baidu.com同样能够访问百度首页,原因是浏览器会使用页面重载,也就是重定向技术,自动补全www,然后交由DNS服务器解析域名。
- 查询流程 域名解析从查询com开始,再到baidu.com,最后再到www.baidu.com。
- 顶级域名 baidu.com是百度网站的顶级域名,买下顶级域名后,可在前面任意添加字段,例如www.a.baidu.com。
- 域名别名CNAME 域名解析中会出现许多别名,因此DNS解析流程中不像想象中的那么简单,直接从www.baidu.com解析出IP地址。
- IP域名对应关系 以上描述会发现一个IP地址,能够做到多个域名同时指向访问。同时,百度的服务器IP地址同样不唯一,为了减轻服务器负载压力,大型网站服务器均采用分布式方式。假设百度公司共分布了4台服务器,即这4台服务器的IP均能够访问百度。DNS服务器会自动搜寻这4台中当前最适合访问的服务器进行访问。总结来说,域名-IP的对应关系,可以用多对多来描述。