1,浏览器根据域名解析IP地址:DNS域名解析
2,浏览器与web服务器建立TCP连接:TCP连接和UDP连接
3,浏览器给web服务器发送一个HTTP请求:HTTP请求类型
4,服务器端响应HTTP请求,浏览器得到HTML代码
5,浏览器解析HTML代码,请求HTML代码中的资源:什么资源
6,关闭TCP连接,浏览器对页面进行渲染,显示给用户。:关闭TCP连接
一起因:
发送请求时,在网络层传输需要ip地址来确定向谁请求。而我们看到的地址是域名地址,在网络传输中不能被识别,所以需要DNS,把我们认识的域名:www.baidu.com解析成计算机认识的ip地址:110.242.68.4
提问:为什么我ping出来的百度ip地址和你的(110.242.68.4 )不一样呢?
回答:百度是采用DNS轮询实现的,也就是一个域名对应多个IP地址,DNS会按照规则给予不同的IP。如果百度只有一个ip,那服务器岂不是很脆弱?
二经过:
当某一个应用需要把主机名解析为IP地址时,该应用进程就调用解析程序,并称为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器。
本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。应用程序获得目的主机的IP地址后即可进行通信。
若本地域名服务器不能回答该请求,则此域名服务器就暂时称为DNS的另一个客户,并向其他域名服务器发出查询请求。
举例:访问www.baidu.com,解析IP地址。
a.先查看缓存里有没有www.baidu.com的访问记录,直接返回IP地址。
b.如果没有(或者TTL已过期),就询问根服务器。根服务器解析出顶级域名.com,返回.com服务器地址。
c.询问.com域服务器,返回baidu.com域服务器地址。
d.询问baidu.com域服务器,返回IP地址110.242.68.4
1.这是中央电视台用于手法电子邮件的计算机的域名,它由三个标号组成,其中标号com是顶级域名,标号cctv是二级域名,标号mail是三级域名。
域名空间示意图:
国家顶级域名:cn(中国),us(美国),uk(英国)。
通用顶级域名:com(公司企业),net(网络服务机构),org(非营利组织)。
域名举例:www.csdn.net,www.baidu.com,www.gitee.com,www.bilibili.com,www.haust.edu.cn
a.主机向本地域名服务器的查询:一般为递归查询
b.本地域名服务器向根域名服务器的查询:迭代查询
TTL这个参数告诉本地DNS服务器,域名缓存的最长时间。
其实,如果网站已经进入稳定发展的状态,不会轻易更换IP地址,我们完全可以将TTL设置到协议最大值,即24小时。带来的好处是,让域名解析记录能够更长时间的存放在本地DNS服务器中,以加快所有用户的访问。
三结果:DNS域名解析采用的是递归查询的方式,过程是,先去找DNS缓存>缓存找不到就去找根域名服务器>根域名又会去找下一级>递归查找之后,找到了,给web浏览器。
http请求持续更新,敬请期待。。。