-
输入网址,解析URL,准备发送HTTP请求
-
检查浏览器是否有缓存,若有则直接返回,若没有则进行下一步网络请求
-
DNS域名解析,网络请求前,进行DNS解析,获取IP地址,若请求协议是HTTPS,则需建立TLS连接,查询ip的顺序:本地浏览器缓存 -> 本地host文件 -> 路由器缓存 -> DNS服务器 -> 根DNS服器
4.建立连接,通过tcp三次握手建立连接
-
浏览器发送HTTP请求,构建请求头、请求行等信息,并把cookie等加入到请求头中,发送请求(若是HTTPS,则还需加解密过程)
-
服务器处理请求并返回HTTP资源
-
断开连接,通过tcp四次挥手断开连接
-
浏览器解析并渲染页面
- 浏览器解析响应头。若响应头状态码为301、302,会重定向到新地址;若响应数据类型是字节流类型,一般会将请求提交给下载管理器;若是HTML类型,会进入下一部渲染流程。
- 浏览器解析HTML文件,创建DOM树,解析CSS进行样式计算,然后将CSS和DOM合并,构建渲染树;最后布局和绘制渲染树,完成页面展示。