地址栏输入一个URL 到页面呈现 发生了什么、http状态码

1.25. 地址栏输入一个URL 到页面呈现 发生了什么

主要行为如下:
URL解析
DNS 查询
TCP 连接
HTTP 请求
响应请求
页面渲染
URL解析
首先判断你输入的是一个合法的URL 还是一个待搜索的关键词,并且根据你输入的内容进行对应操作
DNS 查询
查询url域名对应的IP地址,浏览器缓存-hosts文件-DNS服务器
TCP 连接
TCP连接,三次握手
发送HTTP 请求
发送HTTP请求,请求头,请求行,请求体
http请求会封装在一个TCP包中,经过传输层-网络层-数据链路层-物理层到达服务器端)
响应请求
服务器解析请求,做出响应,返回相应的html相应消息给浏览器,包括:状态行、响应头、响应正文
在服务器响应之后,由于现在http默认开始长连接keep-alive,当页面关闭之后,tcp链接则会经过四次挥手完成断开
页面渲染
当浏览器接收到服务器响应的资源后,首先会对资源进行解析:
 查看响应头的信息,根据不同的指示做对应处理,比如重定向,存储cookie,解压gzip,缓存资源等等
 查看响应头的 Content-Type的值,根据不同的资源类型采用不同的解析方式
关于页面的渲染过程如下:
 解析HTML,构建 DOM 树
 解析 CSS ,生成 CSS 规则树
 合并 DOM 树和 CSS 规则,生成 render 树
 布局 render 树( Layout / reflow ),负责各元素尺寸、位置的计算
 绘制 render 树( paint ),绘制页面像素信息
 浏览器会将各层的信息发送给 GPU,GPU 会将各层合成( composite ),显示在屏幕上
1.浏览器把获取到的HTML代码解析成一棵DOM树,HTML中的每个标签(tag)都是DOM树中的一个节点,根节点就是我们常用的document对象。DOM树里包含了HTML所有标签,包括display:none隐藏,还有用JS动态添加的元素等;
2.浏览器把所有样式解析成CSSOM,在解析过程中会去掉浏览器不能识别的样式,比如IE会去掉-moz开头的样式,而Firefox会去掉_开头的样式;
3.DOM树和CSSOM树组合后构建render tree(渲染树),render t

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值