很多刚接触互联网或者前端的小白大多有这样一个疑问:从输入网址到页面加载完成到底发生了什么?总的来说,这个过程分为以下几个步骤:1.DNS解析2.与服务器建立连接3.服务器处理并返回http报文4.浏览器解析并渲染页面过程DNS解析DNS的过程解决办法是找到机器上哪里有您需要资源的进程。当你在浏览器中输入一个地址时,比如www.baidu.com,它实际上并不是百度网站真正意义上的地址。每台计算机在互联网上的唯一标识是它的IP地址,但IP地址并不好记。用户更喜欢使用容易记忆的网址来查找互联网上的其他计算机,也就是上面提到的百度网址。因此,DNS解析实际上起到了翻译器的作用,实现了URL到IP地址的转换。DNS解析通常经过以下过程:1.浏览器缓存——浏览器缓存DNS记录一段时间2.系统缓存——从Hosts文件中查找是否有域名和对应的IP3.路由器缓存——一般路由器也会缓存域名信息4.ISPDNSCache-去电信的DNSLookupCache5.如果没有找到,再到根域名服务器上查找域名对应的IP,根域名服务器转发请求到下一级查找IPwww.baidu.com查找顺序为:根域名服务器(.)->.com->.baidu.com->www.baidu.com建立连接知道后服务器的IP地址,可以与服务器建立连接。建立连接需要三个过程(三次握手):1.主机向服务器发送建立连接的请求。2、服务器端收到请求后发送同意连接的信号。确认信号服务器处理请求1、浏览器根据URL内容生成HTTP请求,请求中包括请求文件的位置、请求文件的方法等2、服务器收到请求后,判断如何根据HTTP请求HTML文件的内容获取对应的URL3、服务器将获取到的HTML文件发送给浏览器。浏览器解析并呈现页面。执行HTML中的代码时,浏览器会根据需要不断请求图片、CSS、JavsScript等文件,过程与请求HTML相同。结束语以上是我对输入网址到加载页面的过程的简单理解。如果有不对的地方或者有更好的理解,可以留言评论,非常感谢。
