从浏览器输入url到页面显示发生了什么

当在浏览器地址栏输入网址,如:www.baidu.com后浏览器是怎么把最终的页面呈现出来的呢?这个过程可以大致分为两个部分:网络通信和页面渲染。

 

TCPIP

如果严谨一点则还有一层物理层进行字节流的传递。

 

1. 在浏览器中输入url

 

用户输入url,例如http://www.baidu.com。其中http为协议,www.baidu.com为网络地址,及指出需要的资源在那台计算机上。一般网络地址可以为域名或IP地址,此处为域名。使用域名是为了方便记忆,但是为了让计算机理解这个地址还需要把它解析为IP地址。

用户输入url,例如http://www.baidu.com。其中http为协议,www.baidu.com为网络地址,及指出需要的资源在那台计算机上。一般网络地址可以为域名或IP地址,此处为域名。使用域名是为了方便记忆,但是为了让计算机理解这个地址还需要把它解析为IP地址

2.应用层DNS解析域名

        客户端先检查本地浏览器缓存或者路由器缓存中是否有对应的IP地址,若找到则返回响应的IP地址。

若没找到则请求DNS服务器获取IP地址。

 

3.应用层客户端发送HTTP请求

        发送HTTP请求,将请求的数据信息发到对应IP的服务器中。

4.传输层TCP传输报文

        通过TCP协议将传输的数据分成多个数据包,病通过三次握手建立客户端和服务端的连接状态进行传输数据。

 

TCP

5.网络层IP协议查询MAC地址

         IP协议的作用是把TCP分割好的各种数据包传送给接收方。而要保证确实能传到接收方还需要接收方的MAC地址,也就是物理地址。IP地址和MAC地址是一一对应的关系,一个网络设备的IP地址可以更换,但是MAC地址一般是固定不变的。ARP协议可以将IP地址解析成对应的MAC地址。当通信的双方不在同一个局域网时,需要多次中转才能到达最终的目标,在中转的过程中需要通过下一个中转站的MAC地址来搜索下一个中转目标。(通过IP协议和ARP协议找到服务器IP对应的MAC物理地址)

6.数据到达数据链路层

在找到对方的MAC地址后,就将数据发送到数据链路层传输。

 

7.数据转成字节流在物理层中传输到服务器的物理层。

 

数据链路层的数据通过物理层传到服务器的物理层。

8.服务器接收数据

服务器的物理层接受到数据后,自下而上进行数据的传递,数据经过TCP的数据包重组成HTTP报文传到服务器程序中。

9.服务器进行处理

服务器接受到HTTP请求后对其数据进行逻辑处理和存储,并将需要返回的数据封装在HTTP报文中通过同样的网络通信方式返回给客户端。

10. 客户端收到返回报文进行解析和显示

 

客户端收到了服务器发回的HTTP报文,对报文进行解析,将解析的结果渲染到客户端的浏览器中。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值