1、在浏览器中输入了URL之后,浏览器首先对拿到的URL进行处识别,抽取出域名字段;
2、DNS解析(域名解析)
DNS实际上是一个域名和IP相对应的数据库
输入IP地址是直接从主机上调用内容;输入域名是通过域名解析服务器指向对应的主机的IP地址,再从主机调用网站的内容
在进行DNS解析时,会经历以下步骤:
①查询浏览器缓存(浏览器会缓存之前拿到的DNS,2-30分钟时间),若没有拿到:
②检查系统缓存,检查hosts文件。这个文件保存了一些以前访问过的网站的域名和IP的数据。他就像是一个本地的数据库,若找到就可以直接获取目标主机的IP地址了,若没有找到:
③检查路由器缓存。路由器有自己的DNS缓存,若没有:
④查询ISP DNS缓存。ISP服务器商DNS缓存(本地服务器缓存),可能有相关的内容,若无:
⑤递归查询。从根域名服务器到顶级域名服务器再到极限域名服务器
3、浏览器与网站建立TCP连接(三次握手)
第一次:客户机向服务器发送请求(SYN=1),等待服务器确认
第二次:服务器收到请求并确认,回复一个指令(SYN=1,ACK=1)
第三次:客户端收到服务器的回复指令并返回确认(ACK=1)
通过这三次握手,建立了客户端和服务器直接的连接。现在可以请求和传输数据了
4、请求和传输数据
通过请求和服务器的相应,可以将服务器上的目标文件传输到浏览器进行渲染
5、浏览器进行渲染页面
a,解析HTML源码,创建DOM树
b, 解析CSS代码