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

大体过程如下:

1.输入baidu.com回车

2.DNS域名解析

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

4.web浏览器发送HTTP请求

5.web服务器处理请求并返回HTTP响应

6.浏览器接受HTTP响应

7.浏览器渲染页面

一,输入baidu.com,回车

二,域名解析

域名系统 Domain Name System 缩写 DNS 互联网的一项服务.

它作为将域名和IP地址互相映射的一个分布式数据库,

能够使人更方便的访问互联网 ---- 维基百科

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

1.浏览器缓存

2.系统文件缓存(host文件)

3.路由器缓存

4.ISP缓存(宽带供应商提供的)

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

1.根域名服务器

2.COM顶级域名服务器

3.baidu.com域名服务器

三,浏览器与服务器建立连接

浏览器收到正确的IP地址,它将与服务器建立TCP连接,

使用称为TCP/IP三次握手的过程建立此连接以进行数据传输

四,浏览器发送HTTP请求

建立TCP连接后,就可以开始传输数据了.浏览器将发送HTTP请求.

五,服务器处理HTTP请求

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

六,服务器返回HTTP响应

HTTP响应  返回状态码

七,浏览器渲染页面

浏览器从上至下解析HTML字符串,碰到link,src,img等外部资源时发起请求加载静态资源并缓存。但是

碰到一般的JS会挂起渲染过程等待下载并执行完毕。浏览器根据HTML和CSS计算得到模型树,绘制到屏幕上

posted @ 2019-03-03 17:43  且听风吟V  阅读(1584)  评论(0编辑  收藏  举报