从URL输入到页面展现发生了什么

一、URL是什么

  • URL:统一资源定位符,用于定位互联网上的资源
  • 常见的协议有http、https、ftp、file、telnet等。其中http是最常见的网络传输协议,而https则是进行加密的网络传输

二、域名解析

  • DNS域名系统——记录域名和IP地址相互映射的信息

  • IP:每个域名背后都有对应的IP地址,每个网站靠IP来定位。IP是因特网中的每台连接到网络的计算机为实现相互通信而遵循的规则协议。

  • DNS解析是浏览器的实际寻址方式
    DNS解析方式
    1:对于浏览器首次登陆或者相隔一段时间内登陆某个网站

    (1)输入URL地址后,浏览器会从电脑C盘的hosts文件查找是否有存储DNS信息,查找是否有目标域名和对应的IP地址;

    (2)从路由器的缓存DNS信息中查找;

    (3)ISP DNS缓存查找,从网络服务商(比如电信)的DNS缓存信息中查找;

    (4)经由以上三种查找方法还没查找到目标URL对应的IP的话,就会向根域名DNS服务器查找目标URL的对应IP,根域名服务器会向下级服务器转送请求,层层下发,直至找到对应IP为止。

    2:对于近期内有在浏览器登录过的网站,本地浏览器会有DNS缓存,可以直接查找到IP地址。

三:服务器处理

  • 服务器是一台安装系统的机器,常见的系统如Linux、windows server 2012

  • 系统里安装的处理请求的应用叫 Web server;

  • 常见的 web服务器有 Apache、Nginx、IIS、Lighttpd;

  • web服务器接收用户的Request 交给网站代码,或者接受请求反向代理到其他 web服务器

四、网站处理流程

  • 网站处理实际是后台处理,后台开发有很多框架,大部分都还是按照MVC设计模式进行搭建
  • MVC是个设计模式,将应用程序分成三个核心部件:模型(model)--视图(view) -- 控制器(controller),它们各自处理自己的任务,实现输入、处理和输出的分离
    MVC是一个设计模式,将应用程序分成三个核心部件:模型(model)-- 视图(view)--控制器(controller),它们各自处理自己的任务,实现输入、处理和输出的分离。

1、视图(view)
视图是用户看到并与之交互的界面。这是前端工作的主力部分。

2、模型(model)
模型是将实际开发中的业务规则和所涉及的数据格式模型化,应用于模型的代码只需写一次就可以被多个视图重用。在MVC的三个部件中,模型拥有最多的处理任务。一个模型能为多个视图提供数据。

3、控制器(controller)
控制器接受用户的输入并调用模型和视图去完成用户的需求。Controller处于管理角色,从视图接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示模型处理返回的数据。
总结而言,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回html字符串给浏览器,浏览器呈现网页给用户。因此,下一步就来到浏览器处理阶段。

五、浏览器处理

通过后台处理返回的html字符串结果会被浏览器读取解析,对应就是html页面加载、解析、渲染的工作。
1、加载
浏览器对一个html页面的加载顺序是从上而下的,并在加载过程并行进行解析渲染处理。在这个过程中遇到link标签、image标签、script标签时,浏览器会再次向服务器发送请求获取css文件、图片资源、js文件,并执行js代码,同步进行加载解析。
2、解析、渲染
解析的过程,其实就是生成解析树,即dom树。dom树是由dom元素及属性节点组成,加上css解析的样式对象和js解析后的动作实现。而渲染,就是将DOM树进行可视化表示。下一步就来到了绘制网页的工作阶段。

六、绘制网页

浏览器通过上面步骤计算得到渲染树,是DOM树的可视化表示,构建渲染树使页面以正确的顺序绘制出来,遵循一定的渲染规则,经过一系列的渲染工作,实现网站页面的绘制,由此最终完成了页面展示。

你可能感兴趣的:(从URL输入到页面展现发生了什么)