输入url到看见页面发生了什么

http://www.jianshu.com/p/c1d6a294d3c0这个博客写了一个完整的http请求
 
输入url到看到页面发生什么=> http 图解

使用tcp/ip会通过分层顺序通信,应用层 传输层 网络层 数据链路才层

  1. 输入url,dns服务会解析域名和ip地址,

  2. 然后在缓存中寻找,没有找到就向上一级dns寻找直到找到

  3. 在应用层准备一个http请求,请求包括请求头请求行请求主体(方法,目标url,浏览器的一些信息,是否缓存,是有有cookies)

  4. 然后在传输层进行数据分割,为了能准确无误地将数据送到目标,tcp协议采用三次握手,首先发送带syn标志地数据包,服务器接到后回传一个带syn/ack标志地确认信息,最后客户端在发送一个带ack标志地数据包表示连接成功。握手中断会在此发送相同的数据包,

  5. 然后数据到达网络层ip,ip负责把数据包传送对对方,就需要ip地址和mac地址,IP地址和MAC地址是一一对应的关系,一个网络设备的IP地址可以更换,但是MAC地址一般是固定不变的。ARP协议可以将IP地址解析成对应的MAC地址。当通信的双方不在同一个局域网时,需要多次中转才能到达最终的目标,在中转的过程中需要通过下一个中转站的MAC地址来搜索下一个中转目标。

  6. 找到mac之后数据到达链路层,发送给服务器

  7. 服务器接受到数据,通过分层顺序还原http请求进行处理,返回响应报文,(状态码,响应头,响应主体)

  8. 客户端接受到返回的数据进行数据渲染。

状态码
  • 1xx:指示信息–表示请求已接收,继续处理。

  • 2xx:成功–表示请求已被成功接收、理解、接受。

  • 3xx:重定向–要完成请求必须进行更进一步的操作。

  • 4xx:客户端错误–请求有语法错误或请求无法实现。

  • 5xx:服务器端错误–服务器未能实现合法的请求。

页面渲染机制
  • 处理 HTML 标记并构建 DOM 树。

  • 处理 CSS 标记并构建 CSSOM 树。

  • 将 DOM 与 CSSOM 合并成一个渲染树。

  • 根据渲染树来布局,以计算每个节点的几何信息。

  • 将各个节点绘制到屏幕上。

posted @ 2020-06-22 11:43  尽世间恶丑  阅读(138)  评论(0编辑  收藏  举报