域名和DNS解析:
能通过域名直接访问到一台机器吗?
答:不可以
用域名和IP形成对应关系
- 首先计算机是不知道域名对应的IP的
- 问路由器,如果路由器认识这个域名,就返回一个IP,然后计算机访问这个IP,
- 如果路由器不认识,他就问上一层路由器,
- 如果问到了城市这个级别的路由器的时候,就是DNS服务器,
- 如果DNS服务器不认识这个域名,继续向上级DNS服务器上查找
- 直到找到全球DNS服务器,一定会找到(会形成缓存)
浏览器输入url后发生了什么?
- 1.首先看浏览器缓存
- 2.然后看本机host,有域名和IP地址的映射(
没有缓存
)
127.0.0.1 localhost 默认指自己电脑,就是本机
0.0.0.0 指不知道IP地址,会默认指向本机,所以一般用0.0.0.0也可以访问到本机 - 3.家里的路由器,上级的路由、城市的DNS服务器是否有缓存
- 4.继续向上级DNS服务器找
- 5.直到找到全球DNS服务器,gDNS一定会找到
- 6.找到后返回,然后用IP地址去访问(会缓存)
- 7.再次访问的时候会看缓存中有没有
加载过程:
- 1.浏览器根据DNS服务器解析得到域名的IP地址
- 2.向这个IP的机器发送HTTP请求
- 3.服务器收到、处理并返回HTTP请求
- 4.浏览器得到返回结果
渲染过程:
- 根据HTML结构生成DOM树
- 根据CSS生成CSSOM
- 将 DOM 和 CSSOM 整合形成 RenderTree
- 根据RenderTree开始渲染和展示
- 遇到
<script>
时,会执行并阻塞渲染