在浏览器中输入URL并回车后都发生了什么?
四个步骤:
1、浏览器解析url拿到ip地址;
2、建立TCP连接;
3、请求和传输数据;
4、渲染页面。
如何理解这四个步骤:
1.简单了解URL
URL俗称网页、网址
示例解说:https://www.baidu.com
https:传输协议
www:服务器
baidui.com 域名
?id=1&&name=aa :参数
2.浏览器解析url拿到ip地址为什么?DNS域名系统
浏览器的域名并不是网页的ip地址,从各大网站大家可以知道域名非常的简洁好记,但是ip地址就是一串数字,如果我们直接记ip地址,那么我们可能就只能记住几个网站。ip地址是唯一的,域名也是唯一的。DNS域名系统里面的每一个ip都会对应一个域名,也可以理解为域名是ip地址的一个映射,就是为了方便好记,一对一的关系。很能理解在实际开发中我们就可以不通过域名直接访问ip地址建立连接。所以可以理解为输入域名通过浏览器的解析拿到ip地址,再去产生连接。这就是DNS域名系统。
3、建立TCP连接(前三次握手第四次挥手)
这里简单了解一下:
前面三次握手都是试探,会携带一些包去验证,但是不会携带任何正式数据的验证。只有前三次验证完成后才会去挥手,才会拿到数据,拿完数据以后就会把连接断掉。
4.请求和传输数据
连接建立好之后就会传输数据比如图片等
都是第四次挥手才给我们的
5.数据传输好后,开始渲染页面同时断开连接,断开连接这里指的就是TCP的四次挥手
6.渲染页面
a.
html---dom树
css---css结构体
并行构建生成一个带渲染的树 render tree
b.回流:计算布局信息
c.重绘:ui引擎渲染
d.用户所见页面
e.html--dom树时候会排除display:none,display:none这种情况不会出现在rendertree上,也就是说初次渲染并不会渲染display:none,其实这也是性能优化的一个点。