从URL的输入到页面展现

从URL的输入到页面的展现,在我们肉眼中,只是几秒的时间便可完成。但其过程究竟发生了什么?对于普通用户,或许不用在意,但对于web工程师来说,却是必须知道的。总体来说分为以下几个流程:

  1. 在浏览器输入URL
  2. DNS解析
  3. 服务器处理
  4. 网站处理流程
  5. 浏览器处理
  6. 绘制网页

在浏览器输入URL

URL是什么?URL的英文全称是Uniform Resource Locator,直译是统一资源定位符,有时也被俗称为网页的地址(网址),用于定位互联网上的资源,这个资源可以是图片、文件(css、js)等。URL对应有传送协议、服务器(通常为域名,有时为IP地址)、端口号、路径、查询等相关信息。常见的协议有http、https、ftp、file等。http是用于找到网上的某个资源;https是经过加密的,传送过程是密文传输,是安全的http协议;file是用于找到本地文件资源。

DNS解析

DNS解析也称为域名解析。DNS解析就是寻找目标URL所对应服务器的IP地址的过程。当你在web浏览器上的地址栏输入URL时,浏览器实际上不知道所输入的域名是什么东西,所以需要找到URL所对应的服务器的IP地址,互联网上每一台设备(计算机、手机、路由器等)都有一个唯一标识它的IP地址。假如你登录过www.baidu.com,再次登录时,首先浏览器会在缓存查找所对应的IP地址,浏览器会缓存DNS一段时间,不同的浏览器有不同缓存时间;如果浏览器缓存里面没有,那它会从系统缓存的Hosts文件查找是否有该域名和对应的IP地址;如果Hosts文件里没有,就会在路由器缓存找,一般的路由器都会缓存域名信息;如果路由器缓存没有,就会从服务商的DNS(ISP DNS)缓存里找;如果以上都找不到,则向根域名服务器查找对应的IP,根域名服务器把请求下发到下一级,直到找到IP。

服务器处理

服务器是一台安装系统的机器,常见的系统入Linux、windows server 2012,系统里安装了处理请求应用web server。常见的web服务器有Apache、Nginx、IIS、Lighttpd等。web服务器接收用户的Request交给网站代码,或者接收请求反向代理到其它的服务器上。

网站处理流程

以MVC模式为例。MVC是一种设计模式,由model(模型)、view(视图)、controller(控制器)组成,各司其职,把数据的输入、处理、输出分开,便于维护。model主要是处理业务逻辑;view是界面、显示数据;controller接收请求,并调用哪个模型完成任务。处理过程:控制器接收用户的请求,并决定应该调用哪个模型来处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回数据,通过表示层呈现给用户。

浏览器处理

返回一个html结构的字符串,被浏览器接收后进行读取解析。浏览器对html页面的解析是由上向下的,当解析到link标签、script标签、img标签后,会依次发送请求获取css、js、图片资源。

绘制网页

浏览器根据html结构和css样式计算得到渲染树,绘制到屏幕上,js会被执行,呈现页面的动态效果。
本文章著作权归饥人谷_NewClass和饥人谷所有,转载须说明来源!

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