当用户输入网址到页面展现,发生了什么?

Posted wuqilang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当用户输入网址到页面展现,发生了什么?相关的知识,希望对你有一定的参考价值。

  当我们输入地址的时候,浏览器就开始在匹配可能的url,在书签、历史记录等地方查找,然后给出提示,让用户可以补全url地址。

  当网址完全输入,按下回车键时,浏览器做的第一件事就是DNS解析。浏览器会先去本地的hosts文件中看看有没有和这个域名对应的ip,如果有就打开这个ip,没有的话浏览器会发送DNS请求到DNS服务器,这个过程先去本地的DNS服务器查找,有则返回,没有的话本地DNS服务器继续向根DNS服务器发送请求,然后将获取到的ip返回,并且本地的DNS服务器还将这个对应关系保存在缓存中,方便下次查询。这里的查询是迭代查询,查询的递交者是客户端。

  拿到对应的ip后,浏览器与服务器通过三次握手建立TCP/IP连接后,发送http请求,进行网络通信,浏览器从应用层到传输层(TCP)、到网络层(IP)、到链路层(网络),客户端发送请求的阶段结束。

  服务器接收到客户端发送的http请求后,查找客户端请求的资源,然后再从链路层到网络层、到传输层、到应用层,将响应报文返回,通过四次挥手断开TCP/IP连接。

  浏览器收到html、css、js等文件后,解析html构建DOM树、构建render树、布局render树、绘制render树,然后解析css文件构建渲染树,这个过程完成后,浏览器开始布局渲染树并将其绘制到页面中。
在首次加载时会经历回流和重绘,速度较慢。js的加载可以看成是这个同步的主线程上的一个任务队列。有的网页页面很大,可以用预加载和懒加载提升用户体验。

以上是关于当用户输入网址到页面展现,发生了什么?的主要内容,如果未能解决你的问题,请参考以下文章

当用户输入一个url地址后,到看到页面的过程,期间发生了啥?

从输入网址到显示网页的过程中发生了什么?

从URL输入到页面展现到底发生什么

从URL输入到页面展现原理

从输入URL到页面展示,这中间发生了什么?

从输入URL到页面展现全过程