浏览器输入 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服务器

第四步:网站处理流程

浏览器输入 baidu.com,页面展示百度首页的过程_第1张图片

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页面会显示

你可能感兴趣的:(浏览器输入 baidu.com,页面展示百度首页的过程)