用户在地址栏输入URL,回车后发生了什么?
- 浏览器开一进程处理请求
- DNS域名解析,找到对应的IP(DNS是应用层协议,用于将用户提供的主机名解析为IP地址)
- 搜索浏览器自身的DNS缓存—>不命中
- 查看操作系统host文件—>不命中
- 请求本地域名服务器(LDNS Server)解析域名—>不命中
- 请求根域名服务器(Root Server),根域名服务器返回给本地域名服务器一个所查域的主域名服务器(gTLD Server)
- 本地域名服务器请求根域名服务器返回的主域名服务器
- 主域名服务器查找并返回一个网站注册域名服务器给本地域名服务器
- 网站注册的域名服务器(Name Server)根据域名与IP的映射关系找到域名对应的IP,并把该IP返回给本地域名服务器
- 本地域名服务器缓存这个域名对应的IP,并把解析结果返回给用户 - 浏览器根据IP请求对应的服务器,TCP三次握手建立连接
- 向服务器发起HTTP请求
- 服务器响应HTTP请求,浏览器得到HTML代码
- 浏览器解析HTML代码,并请求代码中所需的资源
- 浏览器渲染页面