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

先说说大概的流程

  1. 输入URL
  2. 浏览器进行域名解析
  3. 服务器处理用户请求
  4. 网站处理
  5. 浏览器处理
  6. 绘制网页

对每一步的具体说明

输入URL:

  • 什么是URL:URL的全称是Uniform Resource Locator,翻译过来就是统一资源定位符,说白了就是网站的网址,或者说域名。URL包含协议部分,是浏览器和www万维网之间的沟通方式,它会告诉浏览器正确在网路上找到资源位置。常见的协议有http、https、ftp、file等。其中http是最常见的网络传输协议,而https则是进行加密的网络传输。

浏览器进行域名解析

  • 也就是DNS解析。DNS解析的过程如下:浏览器会依次从浏览器缓存、系统缓存、路由器缓存、IP DNS 缓存中查找是否有缓存的DNS信息,若没找到目标URL对应的IP的话,就会向根域名DNS服务器查找目标URL的对应IP,根域名服务器会向下级服务器转送请求,层层下发,直至找到对应IP为止

服务器处理用户请求

  • 什么是服务器?服务器就是一台机器安装系统的机器,每个服务器里都安装有处理请求的应用——web server。常见的web server产品有apache、nginx、IIS或Lighttpd等。
  • web服务器接收用户的Request 交给网站代码,或者接受请求反向代理到其他 web服务器

网站处理

  • web服务器接收用户的Request 交给网站代码,然后返回后台程序处理产生的结果作为响应。网站处理实际上就是这里的后台程序处理。后台程序处理时大部分都会用到MVC框架
  • MVC框架:将应用程序分成三个核心部件:模型(model)-- 视图(view)--控制器(controller),它们各自处理自己的任务,实现输入、处理和输出的分离。前端的主要工作就是视图view部分
  • 总结而言,网站处理这一步是这样的:首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回html字符串给浏览器

浏览器处理

  • HTML字符串被浏览器接受后被一句句读取解析:
    解析到link 标签后重新发送请求获取css
    解析到 script标签后发送请求获取 js,并执行代码
    解析到img 标签后发送请求获取图片资源

绘制网页

浏览器根据 HTML 和 CSS 计算得到渲染树(DOM树的可视化表示),绘制到屏幕上,js也 会被执行,最终完成了整个页面的展示

参考:饥人谷_huangyh_max

说说从URL输入到页面展现的过程
http://www.jianshu.com/p/58e4597f9c7d

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