zoukankan      html  css  js  c++  java
  • 从 URL 输入到页面展现的过程


    基本的名词概念:

    URL:统一资源定位符。用于定位互联网上的资源
    协议:http https ftp file
    IP:每个处于互联网的机器都有一个IP
    127.0.0.1代表本机的IP
    DNS:Domain Name System,域名系统
    服务器:服务器是一台安装系统的服务器,常见的系统如 Linux系统里安装的处理请求的应用叫Web server

    Web server: 接受用户的请求,返回给网站的代码

    从URL输入到页面展示的过程:

    1.在浏览器里输入URL
    2.域名解析

    把域名解析成IP。域名存在的作用就是方便记忆。
    域名解析的流程:
    (1)在浏览器里找缓存:浏览器会缓存DNS一段时间
    (2)在系统缓存里查找:从 Host文件查找是否有该域名对应的IP
    (3)在路由器缓存里查找:一般的路由器也会缓存域名
    (4)在ISPDNS缓存里查找
    (5)在根域名服务器查找域名对应的IP

    3.服务器处理

    web server接受用户的请求,并返回代码
    web server 担任管控的角色,对于不同用户发送的请求,会结合配置文件,把不同请求委托给服务器上处理对应请求的程序进行处理(例如CGI脚本,JSP脚本,servlets,ASP脚本,服务器端JavaScript,或者一些其它的服务器端技术等),然后返回后台程序处理产生的结果作为响应。

    4.网站处理流程

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

    (1)、视图(view)

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

    (2)、模型(model)

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

    (3)、控制器(controller)

    控制器接受用户的输入并调用模型和视图去完成用户的需求。Controller处于管理角色,从视图接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示模型处理返回的数据。

    五、浏览器处理

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

    六、绘制网页

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

  • 相关阅读:
    每天干的啥?(2017.7)
    每天干的啥?(2017.6)
    每天干的啥?(2017.5)
    每天干的啥?(2017.4)
    C# WinForm中如何让当前应用程序只允许启动一个实例
    C# WinForm 关闭登陆窗体后进程还再内存怎么办?
    ASP.NET在MVC控制器中获取Form表单值的方法
    C#封装CRUD到SqlHelper类解读
    windows 10微软账户不能访问局域网共享,但是本地账户可以访问
    C#高级参数params的使用
  • 原文地址:https://www.cnblogs.com/zhaobw/p/6580241.html
Copyright © 2011-2022 走看看