【页面展示百度的整个过程】从URL输入到页面展示

第一步:URL 通过URL定位互联网上的资源

第二步:域名解析

对于http://www.baidu.com/ 的URL,需要查找www.baidu.com网站所在服务器的IP地址

(之所以发明域名 是为了方便记忆 不然只是IP的话 都是数字不方便记忆)

1、浏览器缓存 - 浏览器会缓存DNS记录一段时间;

2、系统缓存 - 一般路由器也会缓存域名信息;

3、路由器缓存 - 一般路由器也会缓存域名信息;

4、ISP DNS缓存-比如到电信的DNS上查找缓存;

5、如果都没有找到,则向根域名服务器查找域名对应IP,根域名服务器把请求转发到下一级,知道找到IP

第三步:服务器处理

系统里安装的处理请求的应用叫 Web server 通过该应用 机器知道baidu.com指的是什么

(常见的Web服务器有 Apache、Nginx、IIs、lighttpd)

(Web服务器接收用户的Request交给网站代码,或者接收请求反向代理到其他Web服务器)

第四步:网站处理流程 MVC 模型(model)①-视图(view)②-控制器(controller)③

/users->Rails(路由)->index->控制器③(users_controller.rb)<-Users.all->模型①(user.rb)<-->数据库

                丨          丨 丨

                丨 ——HTML @users

                            丨 丨

                  视图②(index.html.erb)

前段对应的部分就是视图

第五步:浏览器处理 网站生成成HTML发送至浏览器 浏览器进行处理

1、HTML字符串被浏览器接收后被一句句读取解析;

2、解析到link标签后重新发送请求获取css;

3、解析到script标签后发送请求获取js,并执行代码;

4、解析到img标签后发送请求获取图片资源

第六步:绘制网页

浏览器根据HTML和CSS计算的到渲染树,会知道屏幕上,js会被执行


你可能感兴趣的:(【页面展示百度的整个过程】从URL输入到页面展示)