域名解析
用户输入URL之后,浏览器根据所输入的URL中的域名,通过DNS查找出所对应IP地址,DNS的查找IP的顺序是:
- 浏览器缓存
- 系统缓存
- 路由器缓存
- LDNS(本地区域名服务器)
查出IP地址后,将地址返回给浏览器并添加至缓存。
建立TCP连接
浏览器在得到IP之后,开始与服务器建立连接,建立连接要经过三次握手:
- 主机发送一个带SYN标志的数据包给服务器
- 服务器回传一个带有SYN和ACK标志的数据包以示传达确认信息
- 主机再回传一个带ACK标志的数据包,代表“握手结束”
建立连接的三次握手中,若有一方没有接收到信号,则重新开始握手,
三次握手执行完毕,则代表主机与服务器已建立连接。
网页请求
连接建立之后,浏览器向服务器发送HTTP请求,请求报文中包括了所要请求获得的文件等信息,服务器响应后则会将对应的html代码发送给浏览器。
网页显示与渲染
浏览器在得到html的同时,便开始解析html,构建网页,之后获取镶嵌在html中的资源,如css,js,图片,音频等...,将整个页面展现出来。