输入url到看见页面发生了什么
使用tcp/ip会通过分层顺序通信,应用层 传输层 网络层 数据链路才层
-
输入url,dns服务会解析域名和ip地址,
-
然后在缓存中寻找,没有找到就向上一级dns寻找直到找到
-
在应用层准备一个http请求,请求包括请求头请求行请求主体(方法,目标url,浏览器的一些信息,是否缓存,是有有cookies)
-
然后在传输层进行数据分割,为了能准确无误地将数据送到目标,tcp协议采用三次握手,首先发送带syn标志地数据包,服务器接到后回传一个带syn/ack标志地确认信息,最后客户端在发送一个带ack标志地数据包表示连接成功。握手中断会在此发送相同的数据包,
-
然后数据到达网络层ip,ip负责把数据包传送对对方,就需要ip地址和mac地址,IP地址和MAC地址是一一对应的关系,一个网络设备的IP地址可以更换,但是MAC地址一般是固定不变的。ARP协议可以将IP地址解析成对应的MAC地址。当通信的双方不在同一个局域网时,需要多次中转才能到达最终的目标,在中转的过程中需要通过下一个中转站的MAC地址来搜索下一个中转目标。
-
找到mac之后数据到达链路层,发送给服务器
-
服务器接受到数据,通过分层顺序还原http请求进行处理,返回响应报文,(状态码,响应头,响应主体)
-
客户端接受到返回的数据进行数据渲染。
状态码
-
1xx:指示信息–表示请求已接收,继续处理。
-
2xx:成功–表示请求已被成功接收、理解、接受。
-
3xx:重定向–要完成请求必须进行更进一步的操作。
-
4xx:客户端错误–请求有语法错误或请求无法实现。
-
5xx:服务器端错误–服务器未能实现合法的请求。
页面渲染机制
-
-
处理 CSS 标记并构建 CSSOM 树。
-
将 DOM 与 CSSOM 合并成一个渲染树。
-
根据渲染树来布局,以计算每个节点的几何信息。
-