2019-07-03用户打开浏览器,输入 baidu.com,页面展示百度首页。整个过程发生了什么?

用户打开浏览器,输入 baidu.com,页面展示百度首页。整个过程发生了什么?

一共完成了7步骤:

1、输入baidu.com,回车

2、域名解析

浏览器首先按以下顺序检查缓存中的DNS记录,如果存在即返回对应的IP

浏览器缓存

系统缓存(hosts文件)

路由器缓存

ISP缓存

如果请求的URL不在缓存中,本地域名服务器会向根域名服务器发送一个请求。如果不存在,转发给下一级查询,顺序如下:

根域名服务器

COM顶级域名服务器

baidu.com域名服务器


3、浏览器与服务器建立连接


一旦浏览器收到正确的IP地址,它将与服务器建立TCP连接。使用称为TCP/IP三次握手的过程建立此连接以进行数据传输。

三次握手


4、web浏览器发送http请求

 常见web服务器有:Apache.Nginx、IIS、Lighttpd

  web服务器把访问需求转到百度公司网站

5、web浏览器处理请求并返回http响应

web服务器接收HTTP请求,由控制层处理逻辑,从数据库取得模型,视图层组装页面,返回HTTP响应

6、浏览器接收http响应

状态码:

1xx 指示信息–表示请求已接收,继续处理。

2xx 成功–表示请求已被成功接收、理解、接受。

3xx 重定向–要完成请求必须进行更进一步的操作。

4xx 客户端错误–请求有语法错误或请求无法实现。

5xx 服务器端错误–服务器未能实现合法的请求。

 Html字符串被浏览器接收后被一句句读取解析

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

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

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

7、浏览器渲染页面

浏览器根据Html和css计算得到渲染树,绘制到屏幕上js会被执行  百度把网站内容返回到用户,浏览器再把html字符串读取解析再进行渲染绘制在屏幕上

你可能感兴趣的:(2019-07-03用户打开浏览器,输入 baidu.com,页面展示百度首页。整个过程发生了什么?)