面试常见问题之一,讲解了域名解析、服务器、MVC、浏览器渲染等概念
步骤一 输入URL
URL是统一资源定位符,用于定位互联网上的资源,包含http、https、ftp、file等协议。
步骤二 域名解析
对于http://xxx.com
的URL,浏览器实际上不知道http://xxx.com
到底是什么东西,需要查找该网站所在服务器的IP地址,才能找到目标。一方面,IP地址比较难以记忆,另一方面,一个网站可能对应多个IP,所以有了域名的存在。
域名解析流程
- 什么是DNS?
DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。域名的最终指向是IP。 - 实践点
现在做手机界面的开发代码基本完成后,我们用电脑测试没有问题后,想测试移动端。因为目前产品没有上线,无法通过输入域名进行测试。
方法:手机与电脑连接到同一个Wifi下,利用电脑IP地址访问电脑上面的服务器.
步骤三 服务器处理
服务器说白就是一台计算机。服务器是一台安装系统的机器,常见的系统有Linux、windows server 2012,系统里安装的处理请求的应用叫Web server。
步骤四 浏览器处理
HTML字符串被浏览器接受后被一句句读取解析,解析到link标签后重新发送请求获取css,解析到script标签后发送请求获取js,并执行代码,解析到img标签后发送请求获取图片资源。
MVC
MVC 编程模式
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式。Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。View(视图)是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。Controller(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
步骤五 绘制网页
浏览器根据htmlt和css计算得到渲染树,绘制到屏幕上,js会被执行。