从URL输入到页面展现

1.在浏览器输入URL

URL是什么?

URL—>Uniform Resource Locator—>统一资源定位符,如同在网络上的门牌,是因特网上标准的资源的地址(Address),互联网上的每个文件都有一个唯一的URL,俗称网页地址。
URL组成:URL由协议,域名,端口,文件路径组成
例如:https://jirengu.com/app/album/index

2.域名解析

对于 http://jirengu.com 的URL,浏览器实际上不知道jirengu.com到底是什么东西,需要查找jirengu.com网站所在服务器的IP地址,才能找到目标

域名解析流程

浏览器缓存 – 浏览器会缓存DNS记录一段时间
系统缓存 - 从 Hosts 文件查找是否有该域名和对应 IP。
路由器缓存 – 一般路由器也会缓存域名信息。
ISP DNS 缓存 – 比如到电信的 DNS 上查找缓存。
如果都没有找到,则向根域名服务器查找域名对应 IP,根域名服务器把请求转发到下一级,直到找到 IP

3. 服务器处理

什么是服务器?

服务器是一台安装系统的机器,常见的系统如Linux、windows server 2012
系统里安装的处理请求的应用叫 Web server
常见的 web服务器有 Apache、Nginx、IIS、Lighttpd

Web server是什么?

接收用户的请求交给网站代码,或者接受请求反向代理到其他 web服务器。
Web server可以代指硬件或软件,它们是协同工作的。

  • 在硬件部分,一个网络服务器是一个用来存储网站的组成文件(比如说 HTML 文档,图片,CSS 样式表,和 JavaScript 文件)以及交付它们到终端用户的设备的计算机。它跟互联网连接并可以通过域名像 mozilla.org 来被访问。
  • 在软件部分,一个网络服务器包括几个控制网络用户如何访问托管文件的部分,至少是一个 HTTP 服务器 [HTTP server]。一个 HTTP 服务器是一个能理解URLs (网络地址) 和 HTTP 的软件。

Web server存在的意义是什么?

浏览器把用户发起的HTTP请求发送给服务器后,Web server会进而在它做自己的存储空间中搜索所请求的文件(因为同一个服务器地址,有时候可能同时绑定了多个域名)。当找到这文件时,这个服务器会读取它,按需处理它,并且把它传送回浏览器。Web server就相对于起到了内容分发的作用,为不同域名的用户请求展示其相应的内容。下图很清楚的表达了这些内容。


从URL输入到页面展现_第1张图片

4.网站处理流程

这一步实际上就是后台处理数据反馈给浏览器之前的过程,拿MVC设计模式来说,就是控制器接收用户请求,然后调用相应的数据模型,按照相应的业务逻辑处理请求返回的数据,然后再经过控制器处理,返回html字符串给浏览器。如下图:


从URL输入到页面展现_第2张图片

5.浏览器处理

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

6.网页制作

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

总结:

经过以上分析,我们来总结一下从URL输入到页面展现发生了什么
1.输入URL
2.浏览器进行域名解析
3.服务器处理用户请求
4.网站处理
5.浏览器处理
6.网页绘制

你可能感兴趣的:(从URL输入到页面展现)