美文网首页程序员
深度解析URL到页面渲染的全过程

深度解析URL到页面渲染的全过程

作者: sunny519111 | 来源:发表于2017-02-16 16:07 被阅读2444次
    人生就像一列开往坟墓的列车,路途上会有很多站,很难有人至始至终陪你走完全程,当陪你的人要下车时,即便不舍,也要心存感激,然后挥手告别。---sunnyhuang

    URL

    URL统一资源定位符,用于互联网上不同的资源的标识,就像不同的人有不同的身份证一样。

    URL的组成

    URL的组成
    1. 协议
    2. 域名 (有时候也是ip,)
    3. 端口号(数字表示,若为HTTP的默认值“:80”可省略)
    4. 路径(以“/”字符区别路径中的每一个目录名称)
    5. 查询(GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题)

    在浏览器输入url后的访问

    1. 域名解析

    浏览器会把输入的域名解析成对应的ip,解析分为几部分进行。

    1. 查看浏览器内部缓存,如果查到域名对应的ip,就发送和接受参数和数据
    2. 查看本机的host文件,浏览器会在本机的hosts文件查看是否有对应的ip服务器地址。
    3. 查看本地路由器的DNS缓存,找到对应的ip
    4. 查看网络服务商中DNS服务器
    5. 查询根域名下是否存在。
      上述5步找到对应的ip地址后
    6. 询到目标IP地址后,则开始建立 TCP 三次握手 ,与目标服务器建立连接。
    7. 通过规定的协议(http)向目标主机发送请求

    2. 服务器接收到请求和返回数据

    服务器:安装了系统和web-server的主机,可以理解为一台电脑,安装了系统和软件来处理数据(硬件)

    1. 服务器接收到了浏览器发送的请求后,根据某个协议,通过web-server把浏览器发送的数据进行打包(包含请求头,ip地址,请求路径和查询参数等)
    2. web-server把数据打包后,发送给网站代码(比如django、flask、node.js等后端服务)
    3. 后端服务软件会根据路径和查询参数进行相应处理,返回给浏览器对应的数据包(包括http协议组成的代码。里面包含页面的布局、文字。数据也可能是图片、脚本程序,反应头,反应数据,请求头等)

    3. 浏览器的接受数据和页面渲染

    1. 浏览器接收到返回的数据包,根据浏览器的渲染机制对相应的数据进行渲染。
    2. 渲染后的数据,进行相应的页面呈现和脚步的交互。

    上诉3大点1. 域名解析。2.服务器接受。3.浏览器的渲染就是用户输入一个域名到页面呈现的内容。

    解析服务器中网站代码处理处理的流程

    1.MOV模型

    MVC模型(model-view-controller
    主要是第三步到第七步解析
    1. 用户的请求数据通过控制器交给模型来处理(图中的2)
    2. 模型根据用户的请求数据,在数据库中查询,调用相应的数据返回给控制器(图中的345)
    3. 控制器得到数据库返回数据后,交给视图模板填充形成页面的模板(页面基本的代码成型)
    4. 视图模板填充好后,把数据反馈给控制器
    5. 控制器将数据反馈给浏览器
    6. 浏览器得到数据后,进行相应的渲染,呈现给用户。

    相关文章

      网友评论

        本文标题:深度解析URL到页面渲染的全过程

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