用户对网站发起一次请求的背后用到的协议

本文详细解析了在浏览器中输入www.baidu.com访问百度时,涉及的一系列网络协议,包括ARP、UDP、DNS、IP、TCP和HTTP,展示了数据包如何从用户端到达目标服务器。

假如我在浏览器输入了 www.baidu.com 访问百度时候,中间的过程用到哪些协议呢?额,学完计算机网络,说一下我的看法,也许有错,欢迎大家评论纠正。

1、我在浏览器输入网址对百度进行访问,首先浏览器会找电脑本地缓存里里有没有对 www.baidu.com的域名的解析结果,如果没有的话则去hosts查看是否有结果,如果没有的话,我们先要发送请求(UDP)到达DNS服务器,然后服务器查找到百度的IP地址告诉我们(若DNS服务没有找到的话,还得通过根域名服务器找到.com域名服务器,再返回此域名对应的IP地址),我们才可以下一步。所以首要先将我们的请求到达DNS服务器(DNS的服务器是已知的,我们可以自己配置,8.8.8.8是谷歌的,222.222.222.222是电信的)

2、可是光知道了源IP和目的IP是不够的,只能说明我们知道了起点和终点。 而中间的路,数据包是不知道该怎么走,这时候我们就要用到一个协议 ARP。通过ARP,就可以知道DNS服务器的MAC地址,有了目的服务器的IP地址和MAC地址,我们的数据包顺利到达DNS服务器,然后服务器返回给我们 www.baidu.com的 IP地址。然后ARP获取到百度服务器的MAC地址。

3、我们知道自己的MAC地址和IP地址,现在也知道了百度的IP地址和MAC地址,接下来就可以向百度发送请求了,请求要到达百度,我们的请求途中会经过若干交换机 、路由器等设备。这些设备也是需要MAC地址的,同样通过ARP协议,就可以知道MAC地址。路由器还有路由表,通过路由表,经过计算,得知下一跳的IP地址。即 数据包要从这个路由器转发给下一个路由器,此处用到了IP协议。IP协议它只负责数据包的在不同路由器之间的转发,数据包出错,丢了什么的不管。

4、数据包一直转发最终到达了www.baidu.com的服务器上。然后准备进行连接,此时就要开始用TCP协议了,进行3次握手。TCP连接建立,双方可以通信。 

5、输入了www.baidu.com后回车后,百度将百度主页的HTML代码通过HTTP协议返回,浏览器解析完毕后,我们就看到了百度一下。

所以,按顺序的话,这背后用到的协议有:

1、ARP

2、UDP

3、DNS

4、IP

5、TCP

6、HTTP

当然 ,事实上,一次请求背后所用到的东西有很多,很复杂,不同层次,不同协议的细节也有很多很多需要考虑。我这里只是简单说一下,仅供参考。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值