第一步: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会被执行
网友评论