码迷,mamicode.com
首页 > 其他好文 > 详细

从输入网址到页面显示经历了什么

时间:2019-12-21 18:33:46      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:客户   公网   缓存   路由表   返回   电信   时间   协议   等等   

一,解析域名转换成对应的公网的IP地址

二,根据公网IP通过互联网路由到对应的服务器上

三,建立可靠的TCP数据连接;

四,服务器对该URL中的请求进行处理分发,逐步返回一个完整的html;

五,浏览器或者客户端对该HTML进行渲染;


具体内容:

一,解析域名转换成对应的公网的IP地址

1,使用DNS服务,将域名解析为Ip地址:

a,递归查询

b,迭代查询

从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间就是的交互查询就是迭代查询

2,解析顺序

a,浏览器缓存

当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且没有清空缓存便存在);

b,系统缓存

当浏览器缓存中无域名对应IP则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP;

c,路由器缓存

当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检查,以上三步均为客户端的DNS缓存;

d,ISP(互联网服务提供商)DNS缓存

当在用户客服端查找不到域名对应IP地址,则将进入ISP DNS缓存中进行查询。比如你用的是电信的网络,则会进入电信的DNS缓存服务器中进行查找;

e,根域名服务器

当以上均未完成,则进入根服务器进行查询。全球仅有13台根域名服务器,1个主根域名服务器,其余12为辅根域名服务器。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com)服务器IP告诉本地DNS服务器;
(10台在美国,各一台在英国,瑞典,日本)

f,顶级域名服务器

顶级域名服务器收到请求后查看区域文件记录,若无则将其管辖范围内主域名服务器的IP地址告诉本地DNS服务器;

g,主域名服务器

主域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确纪录;

h,保存结果至缓存

本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个IP地址与web服务器建立链接。


二,根据公网IP通过互联网路由到对应的服务器上

根据路由表内容查询数据转发路径:

目标网络的IP地址:32位,这里在上文提到,是目标网络的IP地址而非目标计算机的IP地址

目标网络的子网掩码:32位,即子网掩码

下一跳IP地址:32位,如果目标网络需经过多个路由器,下一跳即使下一个路由器的IP地址

离出接口名字:路由器会提供多个接口,每个接口通向不同的网段,所以表项中需要提供该项,即使确定IP分组从哪一个接口发出去,离出接口只是标识本路由器的信息,没有过多的全局含义

度量:从该路由器到达目标网络的代价,这个属性反映这一路径的优劣,由于路由协议的不同,该项具体数据形式也不同,常见的有跳数(途径路由器的数量),当前往返时间,最窄链路带宽等等


三,建立可靠的TCP数据连接

三次握手,四次分手


四,服务器对该URL中的请求进行处理分发,逐步返回一个完整的html;


五,浏览器或者客户端对该HTML进行渲染;

从输入网址到页面显示经历了什么

标签:客户   公网   缓存   路由表   返回   电信   时间   协议   等等   

原文地址:https://www.cnblogs.com/yu-tang/p/12077578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!