经典面试题-----从输入url到页面加载完成都发生了什么?(1)

题目:从输入url到页面加载完成都发生了什么?

这个过程是十分复杂的,我也是看了很多文章后过来总结一下看到的内容。先贴出这篇博客,总结的很好,也很全面。

整个过程大致可以分为几下几个阶段:

1. DNS域名解析
2. 客户端和服务器建立TCP连接
3. 客户端发送 HTTP请求
4. 服务器处理请求返回HTTP响应
5. 浏览器解析和渲染页面
6. 关闭连接

接下来会详细讲解一下这几大过程。

1. DNS域名解析阶段

域名解析过程
域名是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)(来自百度百科)。简单说,域名就是一台计算机的名字。一个域名对应一台服务器的IP地址,其实域名的出现就是为了方便人们记忆。
域名系统(DNS)就是将域名和IP地址对应起来的数据库,一台服务器只能有一个IP地址,但是可以有多个域名。域名解析的过程大致可以分为:
在这里插入图片描述
图片来源于这篇博客

首先在本地域名服务器根据域名查询IP地址,如果没有找到,本地服务器会向根域名服务器发送一个请求。如果根服务器也找不到该服务器,则会给本地服务器返回com域的地址,本地服务器根据地址继续向com域发送请求,就这样,一层一层的去找,直到找到目标服务器为止。这时候,客户端就拿到了目标服务器的IP地址。

根域名服务器在全球一共有504个,分为13组。从这504个根服务器开始,余下的Internet DNS名字空间被委托给其他的DNS服务器,这些服务器提供DNS名称空间中的特定部分。

DNS记录
DNS记录类型常用到的有

A记录: 指定域名对应的IPv4地址
CNAME:别名记录,多个域名映射到同一台计算机

DNS的优化
我们发现,一个DNS在没有缓存的情况下,会有6步,也就是说,如果没有缓存,要经过六步才能找到目标服务器的ip地址,如果查询域名的时间过长,则会大大的影响用户体验。所以,在查询的过程中需要利用缓存来优化用户体验。DNS查询过程中的缓存主要分为以下几种,浏览器缓存,系统缓存,路由器缓存,IPS服务器缓存,根域名服务器缓存,顶级域名服务器缓存,主域名服务器缓存。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值