1.输入网址
即URL,在浏览器输入www.baidu.com;
2.域名解析
域名系统DNS(Domain Name System)获取www.baidu.com所对应的IP:202.108.22.5
DNS实际上是因特网上作为域名和IP地址相互映射的一个分布式数据库,相当于一个“电话本”,能让用户更方便地上网而不用去记忆能被机器直接读取的IP数串。
查找缓存的顺序:浏览器里缓存的DNS里找——>系统缓存Host文件里找——>路由器缓存里找——>ISP服务商 DNS 里找——>根域名服务器里查找。
3.服务器web server处理
web server担任管控角色,对于不同用户发送的请求,会结合配置文件把不同的请求委托给服务器上处理对应请求的的程序处理,然后返回后台程序处理产生的结果作为响应。
4.网站处理
后台开发框架大部分按MVC设计模式搭建,各个核心部件各司其职,实现输入、处理和输出的分离。
MVC分为以下三部分:
- 模型(model):将实际开发中的业务规则和所涉及的数据格式模型化,一个模型可为多个视图提供数据;
- 视图(view):即用户看到并与之交互的界面,是前端工作的主力部分;
- 控制器(controller):管理角色,从视图接受请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示模型处理返回的数据。
5.浏览器处理
-加载:从上而下加载,过程中并行进行解析渲染处理。遇到link标签、image标签、script标签时,浏览器会再次向服务器发送请求获取css文件、图片资源、js文件,并执行js代码,同步进行加载解析;
-解析:生成解析树,即DOM树(Dom元素及属性节点组成),加上css解析的样式对象和js解析后的动作实现;
-渲染:将DOM树进行可视化表示。
6.绘制网页
浏览器获得了渲染树的可视化表示,构建渲染树使页面以正确的顺序绘制出来。
网友评论