输入url到页面返回的全过程

输入url到页面返回的全过程

https://blog.csdn.net/Cs_hnu_scw/article/details/79896621

https://blog.csdn.net/ty987654/article/details/78007319

https://blog.csdn.net/samjustin1/article/details/52650520

第一步.查询DNS(域名解析),获取域名对应的IP地址

1.      我们输入一个域名:www.baidu.com  

     a.      浏览器查找浏览器缓存,如果有域名的IP地址则返回,如果没有继续查找;

     b.      系统查找系统缓存,如果有域名的IP地址则返回,如果没有继续查找;

     c.      路由器查找路由器缓存,如果有域名的IP地址则返回,如果没有继续查找;

       (这是客户端的DNS缓存)

2.      本地域名服务器采用迭代查询,它先向一个根域名服务器查询;

3.      根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器dns.com的IP地址;

4.      本地域名服务器向顶级域名服务;器dns.com进行查询;

5.      顶级域名服务器dns.com告诉本地域名服务器,下一次应查询的权限域名服务器dns.baidu.com的IP地址;

6.      本地域名服务器向权限域名服务器dns.baidu.com进行查询;

7.  权限域名服务器dns.baidu.com告诉本地域名服务器,所查询的主机www.baidu.com的IP地址

8.  本地域名服务器最后把查询结果告诉主机;

                        2-8是DNS解析过程

第二步:浏览器得到服务器端的IP地址后,与服务器端建立TCP连接

    建立TCP连接的过程就是三次握手过程

9.  主机浏览器获取到Web服务器的IP地址后,与服务器建立TCP连接;

10.  浏览器所在的客户机向服务器发出连接请求报文;

11.  服务器接收报文后,同意建立连接,向客户机发出确认报文;

12.  客户机接收到确认报文后,再次向服务器发出报文,确认已接收到确认报文;

13.  此处客户机与服务器之间的TCP连接建立完成,开始通信;

 

3.建立TCP连接后,浏览器向服务器发送http请求 
例如:浏览器发出取文件指令GET。

4.服务器响应http请求,将请求的指定资源发送给浏览器

5.浏览器释放TCP连接

释放TCP连接的过程就是四次挥手过程。

20.  浏览器所在主机向服务器发出连接释放报文,然后停止发送数据;

21.  服务器接收到释放报文后发出确认报文,然后将服务器上未传送完的数据发送完;

22.  服务器数据传输完毕后,向客户机发送连接释放报文;

23.  客户机接收到报文后,发出确认,然后等待一段时间后,释放TCP连接;

6.浏览器得到完整的html代码开始进行解析与渲染,如果遇到外部引用的css,图片等资源,同样发送一个http请求。

7.浏览器根据拿到的资源对页面进行渲染,最终把一个完整的页面呈现出来。

 

è¿éåå¾çæè¿°

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值