一、输入URL
URL(Uniform Resource Locator),俗称网页地址,如同网络上的门牌一样,用于定位互联网上的资源。
URL包含有以下基本元素:
- 传输协议(常见的有http、https、ftp、file等)
- 域名
- 端口号
- 路径
- 查询
二、IP寻址
IP
浏览器实际上并不知道输入的网址到底是什么东西,需要去查找输入的网址所在服务器的IP地址,才能找到目标返回。
每个处于互联网的设备都有IP地址,形如:192.168.0.1
域名
既然IP地址这么重要,那么为什么URL中没有直接用上?
因为IP地址太难记忆了。
这时候域名的作用就显示出来了,域名的存在意义是为了方便记忆,比如说谷歌,记住googlec.com这个域名就要比记住一串特定的字符串要方便得多。
DNS
有了方便记忆的域名,这时候要转换成IP地址,就要通过DNS(Domain Name System)来解析域名然后进行IP寻址。
具体情况
输入URL地址后,浏览器会逐级进行查找IP地址:
- 浏览器缓存
- 系统缓存
- 路由器缓存
- ISP DNS 缓存
如果都没有找到,则向根域名服务器查找域名对应的IP,根域名服务器会向下级服务器转送请求,层层下发,直到查找到为止。
三、服务器处理
服务器接受了用户的请求后,会交给网站代码进行处理,或者接受请求反向代理到其他web服务器。
服务器在这里起到一个管理控制的作用。
四、网站处理
以MVC设计模式为例,应用程序分成三个核心部分:
- 模型(model)
将开发中的业务规则和数据格式进行模型化,可以被多个视图重用。 - 视图(view)
用户看到并与之交互的界面。这也是前端的主要工作范围。 - 控制器(controller)
从视图接收请求并决定调用哪个模型去处理请求,并确定用哪个视图来显示模型处理返回的数据。最后返回HTML字符串给浏览器。
五、浏览器处理
流浪器读取解析html字符串,并向服务器发出请求,获取所需要的CSS文件、JS文件、图片资源等,然后进行渲染。
六、 绘制网页
浏览器根据HTML和CSS计算得到渲染树,最终绘制到屏幕上。