美文网首页我爱编程
从输入URL到页面加载完成发生了什么?

从输入URL到页面加载完成发生了什么?

作者: Elviiis | 来源:发表于2018-04-16 21:33 被阅读0次

    很多初学网络或者前端的初学者大多会有这样一个疑问:从输入URL到页面加载完成到底发生了什么?
    总的来说,这个过程分为下面几个步骤:
    1.DNS解析
    2.与服务器建立连接
    3.服务器处理并返回http报文
    4.浏览器解析渲染页面

    过程

    DNS解析

    DNS解析的过程就是寻找哪台机器上有你需要资源的过程。当你在浏览器中输入一个地址时,例如www.baidu.com,其实不是百度网站真正意义上的地址。互联网上每一台计算机的唯一标识是它的IP地址,但是IP地址并不方便记忆。用户更喜欢用方便记忆的网址去寻找互联网上的其它计算机,也就是上面提到的百度的网址。所以DNS解析实际上充当了一个翻译的角色,实现了网址到IP地址的转换。

    而DNS解析通常会经过以下这几个过程:
    1.浏览器缓存 - 浏览器缓存DNS记录一段时间
    2.系统缓存 - 从Hosts文件查找是否有该域名和对应IP
    3.路由器缓存 - 一般路由器也会缓存域名信息
    4.ISP DNS缓存 - 到电信的DNS查找缓存
    5.都没有找到,则向根域名服务器查找域名对应IP,根域名服务器把请求转发到下一级查找IP

    www.baidu.com查找顺序是:
    根域名服务器(.)-> .com -> .baidu.com -> www.baidu.com

    建立连接

    知道了服务器的IP地址后,就可以与服务器建立连接。
    建立连接需要三个过程(三次握手):
    1.主机向服务器发送一个建立连接的请求

    2.服务器接到请求后发送同意连接的信号

    3.主机接到同意连接的信号后,再次向服务器发送了确认信号

    服务器处理请求

    1.浏览器根据 URL 内容生成 HTTP 请求,请求中包含请求文件的位置、请求文件的方式等等

    2.服务器接到请求后,会根据 HTTP 请求中的内容来决定如何获取相应的 HTML 文件

    3.服务器将得到的 HTML 文件发送给浏览器

    浏览器解析渲染页面

    在执行 HTML 中代码时,根据需要,浏览器会继续请求图片、CSS、JavsScript等文件,过程同请求 HTML 。

    结语

    以上就是我对输入URL到页面加载的过程的一个理解。如有不对或有更好的理解,可以留言评论,不胜感激。

    相关文章

      网友评论

        本文标题:从输入URL到页面加载完成发生了什么?

        本文链接:https://www.haomeiwen.com/subject/cwkykftx.html