输入链接到页面呈现过程发生了什么

一、什么是URL?

URL(Uniform Resource Locator) 叫作统一资源定位符,能够对因特网的资源进行定位。

 http://119.75.217.109:80/index.html

比如上面这个就是百度的URL。
URL一般有四部分组成: <协议>://:<端口>/<路径> /<资源名称>
那么我们可以对应百度的URL就知道:

  • http 是协议。
  • 119.75.217.109就是IP地址,但是IP地址太难记,所以我们平时记住的都是域名的,比如baidu.com,用域名代替IP地址。
  • 80就是端口号,http协议的默认端口为80(所以可以省略)。
  • index.html是指文件名称
    所以我们平时在浏览器上输入:www.baidu.com就可以打开百度。

二、域名解析

在浏览器中输入,之后那么下一步发生了什么?
我们在浏览器输入www.baidu.com这个网址,实际上是向服务器发送一个请求,所以浏览器要先找到这个域名所对应的服务器在哪里,但是计算机并不能直接读懂www.baidu.com这是什么意思,需要转换成计算机能够读懂的语言。将域名解析成对应的服务器IP地址这项工作,是由DNS服务器来完成的。

域名解析的流程可以分为以下步骤:

  • 首先是从浏览器的缓存中进行查找,如果能够找到,那么可以将请求发送到对应的服务器上去。
  • 如果在浏览器缓存中没有找到,那么会去系统缓存进行查找。
  • 如果还没有找到,会去路由器缓存中查找。(没装路由器就没有这一步)
  • 如果还没有找到,会去ISP DNS缓存中查找,比如从电信的DNS缓存信息中查找。
  • 最后还没有找到就会去根服务器进行查找,然后会根据根服务器反馈,去对应的.com服务器,进行迭代查找,最后将请求发给找到的服务器上。

三、服务器处理

每台服务器上都会安装处理请求的应用(web server)常见的web server有Apache、Nginx、IIS、Lighttpd等。服务器解析用户请求后,就会知道需要调度哪些资源文件,然后再通过对这些资源文件处理用户请求和参数,并调用数据库信息,最后将结果通过服务器返回给浏览器客户端。

四、网站处理流程

网站处理是后台的工作,大部分的网站后端是按照MVC设计模式进行搭建的。MVC是Model(模型)、View(视图)和Controller(控制)三个单词的首字母缩写。

MVC如何工作的?

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

五、浏览器的解析以及页面呈现

后台处理好之后会将请求结果发给浏览器,返回的内容会被浏览器读取解析,对应就是html页面加载、解析、渲染的工作。
浏览器是一个边解析边渲染的过程。首先浏览器解析HTML文件构建DOM树,然后解析CSS文件构建渲染树,等到渲染树构建完成后,浏览器开始布局渲染树并将其绘制到屏幕上。

参考来源:https://www.jianshu.com/p/f65044242331

你可能感兴趣的:(输入链接到页面呈现过程发生了什么)