在浏览器输入网址到显示页面发生了什么

1. 在浏览器中输入域名网址


2.应用层DNS解析域名


   客户端先检查本地是否有对应的IP地址,若找到则返回响应的IP地址。若没找到则请求上级DNS服务器,直至找到或到根节点。


3.应用层客户端发送HTTP请求
 

请求报文包括请求行,请求头部,空行和请求数据四部分。
 请求行包括请求方法、要访问的资源和版本号。请求头部包括服务器要使用的附加信息。即使正文为空,也要加空行。
 请求方法有GET,POST,HEAD,PUT,DELETE,OPTIONS,TRACE




4.传输层TCP传输报文


   TCP面向连接,可靠的字节流服务。面向连接三次握手,四次挥手。可靠通过确认机制,超时重传,校验和,拥塞控制来保证。




5.网络层


网络层主要进行数据的转发,   通过ARP协议将IP地址转化成MAC地址,通过路由选择来进行通信路径。


6.数据到达数据链路层


   在找到对方的MAC地址后,就将数据发送到数据链路层传输。这时,客户端发送请求的阶段结束


7.服务器接收数据


   接收端的服务器在链路层接收到数据包,再层层向上直到应用层。这过程中包括在运输层通过TCP协议讲分段的数据包重新组成原来的HTTP请求报文。


8.服务器响应请求


   服务接收到客户端发送的HTTP请求后,查找客户端请求的资源,并返回响应报文,响应报文中包括一个重要的信息——状态码。状态码由三位数字组成,其中比较常见的是200 OK表示请求成功。301表示永久重定向,即请求的资源已经永久转移到新的位置。在返回301状态码的同时,响应报文也会附带重定向的url,客户端接收到后将http请求的url做相应的改变再重新发送。404 not found 表示客户端请求的资源找不到。


9. 服务器返回相应文件


   请求成功后,服务器会返回相应的HTML文件。接下来就到了页面的渲染阶段了。


二、页面渲染


   现代浏览器渲染页面的过程是这样的:jiexiHTML以构建DOM树 –> 构建渲染树 –> 布局渲染树 –> 绘制渲染树。


   DOM树是由HTML文件中的标签排列组成,渲染树是在DOM树中加入CSS或HTML中的style样式而形成。渲染树只包含需要显示在页面中的DOM元素,像<head>元素或display属性值为none的元素都不在渲染树中。


   在浏览器还没接收到完整的HTML文件时,它就开始渲染页面了,在遇到外部链入的脚本标签或样式标签或图片时,会再次发送HTTP请求重复上述的步骤。在收到CSS文件后会对已经渲染的页面重新渲染,加入它们应有的样式,图片文件加载完立刻显示在相应位置。在这一过程中可能会触发页面的重绘或重排。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值