浏览器输入 baidu.com,页面展示百度首页的过程

浏览器输入 baidu.com,页面展示百度首页的过程

by饥人谷_凛冬

第一步:在浏览器中输入baidu.com

baidu.com

第二步:域名解析

浏览器实际上不知道baidu.com是什么,需要查找baidu.com网站所在服务器IP地址才能找到目标

域名解析流程

浏览器会通过下几个方式来查找baidu.com域名及其对应的IP
1.浏览器缓存-浏览器会缓存DNS记录一段时间。
2.系统缓存-从host查找是否有对应域名和IP。
3.路由器缓存-一般路由器也会缓存域名信息。
4.ISP DNS缓存-比如到电信的DNS查找缓存。
5.如果都没有找到,则向根域名服务器查找域名对应IP,根域名服务器把请求转发到下一级,直到找到目标IP.

第三步:服务器处理

服务器是一台安装系统的机器,常见的系统如Linux、windows server 2012
系统里安装的处理请求的应用叫 Web server
web服务器接收用户的Request交给网站代码,或者接受请求反向代理到其他web服务器

第四步:网站处理流程


1.浏览器向 /users 发送请求;
2.Rails 的路由把 /users 交给 Users 控制器的 index 动作处理;
3.index 动作要求 User 模型读取所有用户(User.all);
4.User 模型从数据库中读取所有用户;
5.User 模型把所有用户组成的列表返回给控制器;
6.控制器把所有用户赋值给 @users 变量,然后传入 index 视图;
7.视图使用嵌入式 Ruby 把页面渲染成 HTML;
8.控制器把 HTML 送回浏览器

浏览器处理

  • HTML字符串被浏览器接受后被一句句读取解析

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

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

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

  • 浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上

  • js 会被执行
    -最终baidu.com页面会显示

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容