从键入网址到页面显示,到底发生了什么?

大家好,我是程序员阿药。相信每一位小伙伴都用浏览器输入网址访问过网页,那你知道从网址输入到页面显示在我们面前的过程中都发生了什么吗?带着这个问题和阿药一起探索计算机网络的世界吧。

一、解析URL产生HTTP请求

浏览器对输入的URL解析得到请求协议、服务器名称、数据文件路径。如图所示。

通过解析URL得到的信息生成HTTP请求消息。如图所示。

二、域名解析得到目的IP

浏览器根据域名在缓存中查找对应的IP地址,找到则返回;找不到再到操作系统缓存中查找,再找不到则通过本地DNS服务器解析域名。详细流程推荐:到底什么是域名解析

三、TCP三次握手建立可靠连接

浏览器获得了服务器的IP地址后,它会尝试与服务器建立TCP连接。这个过程涉及到三次握手,即客户端向服务器发送请求,服务器回应客户端,然后客户端再次回应服务器,建立了一个可靠的连接。

这个过程结束后会对每个数据块添加一个TCP头部,每个数据块的长度为MSS。如图所示。

四、生成IP报文实现远程定位

通过路由表得到源IP地址,也就是客户端的IP地址,然后用源IP地址和目的IP地址等信息组成IP头部添加到数据报中。如图所示。

五、添加MAC头部实现以太网传输

MAC包头里需要发送方MAC地址和接收方目标MAC地址,用于两点之间的传输。发送方的MAC地是在网卡生产时写入到 ROM 里的,将这个值读取出来写入到MAC头部;通过ARP协议在以太网中以广播的形式获得目标MAC地址。如图所示。

六、网卡、交换机、路由器

网卡将数字信号转换成电信号然后发送给交换机,交换机再转发给路由器,然后在路由器中层层跳跃最终到达目标服务器。

七、服务器响应请求

数据包到达服务器后会先检查目的MAC与自己的MAC地址是否符合,不符合直接丢弃;符合则检查IP头部,根据IP头部中的协议项知道上层是TCP协议;再通过TCP头部中的目的端口号找到相应的进程,然后根据请求数据文件路径找到文件并封装在HTTP响应报文中发送给客户端。

八、客户端渲染页面

客户端收到响应报文后拿到里面的数据交给浏览器渲染页面。等客户端离开时向服务器发起TCP四次挥手,双方断开连接。


以上是一个简化的描述,实际上还涉及了更多的细节和复杂的步骤。并且整个过程是高度优化的,使得网页能够快速加载和显示在用户的浏览器上。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值