浏览器从输入URL到展示页面,经历了哪些过程?
创始人
2025-07-05 04:31:49
0

浏览器根据输入的URL通过HTTP或者HTTPS协议发起对远端Web服务器的请求,Web服务器返回对应请求的数据给浏览器,然后浏览器将数据解释渲染并最终展示给用户。整个过程涉及到网络中各种协议的交互以及各种设备对报文的转发,主要流程有:

图片图片

1、浏览器进行URL解析和生成HTTP请求

浏览器首先对URL进行解析,确定要访问的Web服务器和文件名,然后生成要发送给Web服务器的请求信息。当然,在生成HTTP请求之前,浏览器还会查看本地缓存是否已经缓存有要请求的资源,如果有,就直接返回缓存资源显示出来。如果没有,才会继续进行后面的请求流程。

图片图片

图片图片

图片图片

图片图片

图片图片

2、生成TCP报文段,准备发起TCP连接

HTTP是基于TCP 协议传输的,在做完应用层HTTP请求的准备后,客户端主机开始进行TCP报文段头部的封装。

图片图片

图片图片

3、DNS解析域名得到服务器的IP地址

传输层TCP报文段组装好后,开始进入网络层进行IP数据报的组装,但是URL中请求服务器资源使用的是域名,而网络中标识服务器位置使用的是IP地址,所以先要通过DNS域名解析协议进行域名解析,先获取到服务器域名对应的IP地址。

图片图片

DNS进行域名解析的过程是,先查浏览器DNS缓存,再查hosts主机文件,最后查DNS服务器,由于DNS服务器采用的是层级结构,所以DNS查询采用的是递归迭代查询。

图片图片

图片图片

图片图片

4、IP路由寻址和生成IP数据报

传输层TCP处理完后,开始进行网络层IP数据报的处理。特别是对于多网卡客户端主机,访问服务器的IP数据报需要确定从哪个网卡发出去,所以需要进行路由寻址查找路由表确定报文发出去的网口,从而确定IP数据报的源IP地址。

图片图片

图片图片

图片图片

5、ARP请求下一跳网关MAC地址

IP数据报组装完成之后,需要进行以太网帧的封装,以太网帧头的源MAC就是报文发出网卡的MAC,而目的MAC就是路由表中指定的下一跳网关IP对应的MAC,这时候需要通过ARP地址解析协议来请求获取下一跳网关的MAC的地址,从而确定以太网帧头的目的MAC。

图片图片

图片图片

图片图片

6、报文经过网络发往WEB服务器

经过前面的各种处理,请求报文已经组装完成,现在可以从客户端主机网卡发送出去了,整个网络是经过大量的交换机和路由器互联的,报文会经过这些设备的转发最终到达Web服务器。

图片图片

图片图片

图片图片

7、服务器返回响应报文

服务器收到请求报文后,首先检查报文的目的MAC是否是自己网卡的MAC,目的IP是否是自己网卡的IP,然后查看传输层TCP协议的端口,确认是Web服务进程监听的端口,所以将请求报文交给Web服务进程进行处理。Web服务进程将请求的网页内容封装成响应报文,然后通过网卡发出去,响应报文经过网络中的交换机和路由器转发到达客户端主机,并最终通过客户端主机的浏览器将响应报文中的网页内容渲染展示出来。

图片图片

图片图片

整体上看,浏览器输入URL到展示网页内容,需要经过浏览器解析URL、DNS解析域名IP地址、查找路由表确定出口网卡和源IP地址、ARP地址解析获取主机网关下一跳的MAC地址、TCP连接建立以及交换机路由器等网络中间设备对报文的转发这些过程。

图片图片

图片图片

编程十万问,每天一问。关注我,每天学习一个编程小知识。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...