从地址栏输入URL到显示页面都发生了什么?

主要分下面六步:

1、DNS解析

2、TCP连接

3、发起HTTP请求

4、处理请求

5、浏览器渲染

6、TCP连接断开

1、DNS解析

        如我们在浏览器中输入www.atest.com,浏览器会发送一个DNS查询请求报文,其内容为域名www.atest.com 所对应的IP地址是什么?DNS 的查询请求报文需要使用运输层的UDP协议封装成UDP用户数据报文,其首部中的源端口字段值在短暂端口号49151~65535中挑选一个未被占用的端口号用来表示DNS客户端进程进程,例如49152。目的端口字段的值设置为53,这是DNS服务器端进程所使用的熟知端口号。

        之后浏览器将UDP用户数据报封装在IP数据报中通过以太网发送给DNS服务器。DNS 服务器端收到该数据报后,从中解封出UDP用户数据报。

        dns服务器解析过程:先到本地域名服务器上面找找到了就返回,没找到就去根域名服务器上面找,找到了就返回,没找到再去顶级域名服务器上面找,号到了就返回,没找到再去权限域名服务器上面找。

下图是DNS 服务器层次系统解析域名 y.abc.com的IP地址过程:

        得知目标IP地址之后,DNS服务器会给用户PC发送DNS的响应报文,其内容为域名www.porttest.com 所对应的IP地址是192.168.0.3。

        DNS响应报文需要使用运输层的UDP协议封装成UDP用户数据报,其首部中的原端口字段的值设置为熟知端口号53,表明这是DNS 服务器端进程所发送的UDP 用户数据报,目的端口字段的值设置为49152,这是之前用户PC中发送DNS查询请求报文的DNS客户端进程所使用的短暂端口号。

DNS 服务器之后将UDP用户数据报封装在IP 数据报中,通过以太网发送给用户PC。

2、TCP连接

        浏览器通过 DNS 获取到 Web 服务器真正的 IP 地址后,便向 Web 服务器发起 TCP 连接请求,通过 TCP 三次握手建立好连接后,浏览器便可以将 HTTP 请求数据发送给Web服务器了。

3、发起HTTP请求

        现在用户PC中的HTTP客户端进程可以向Web服务器发送HTTP请求报文了。其内容为首页内容是什么? HTTP请求报文需要使用运输层的TCP协议封装成TCP报文段,其首部中的源端口字段的值在短暂端口号49151~65535中挑选一个未被占用的用来表示HTTP客户端进程。

        例如:源端口仍然使用之前用过的49152,目的端口字段的值设置为80,这是HTTP服务器端进程所使用的熟知端口号,之后将TCP报文段封装在数据报中,通过以太网发送给Web服务器。

4、处理请求

        Web服务器收到该数据报后,从中解封出TCP报文段,TCP 首部中的目的端口号为80,,这表明应该将该TCP报文段的数据载荷部分,也就是HTTP请求报文交付给本服务器中的HTTP 服务器端进程。

        HTTP服务器端进程解析HTTP请求报文的内容,然后按其要求查找首页内容,之后会给用户PC发送HTTP响应报文,其内容是HTTP 客户端所请求的首页内容。

        HTTP 响应报文需要使用运输层的TCP协议封装成TCP报文段,其首部中的源端口号字段的值设置为熟知端口号80,表明这是HTTP服务器端进程所发送的TCP报文段,目的端口字段的值设置为49152,这是之前用户PC中发送HTTP 请求报文的HTTP客户端进程所使用的短暂端口号。

之后Web服务器将TCP报文段封装在IP数据报文中,通过以太网发送给用户PC。

5、浏览器渲染

        浏览器收到该数据报后,从中解封出TCP报文段。TCP首部中的目的端口号为49152,,这表明应该将该TCP报文段的数据载荷部分,也就是HTTP响应报文交付给用户PC中的HTTP客户端进程,HTTP 客户端进程解析HTTP响应报文的内容,并在网页浏览器中进行显示。

 6、TCP连接断开

最后客户端和服务器通过四次挥手终止 TCP 连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会飞的IT蜗牛

更美口味,打赏人生

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值