一个 http 请求在整个网络中的请求过程!

1.以我们访问www.baidu.com为例,首先是去访问DNS获取到对应的ip,接下来的流程如下图

当然,上面这俩张图纯粹只是发请求到服务器接收!同样的,服务器响应到浏览器也是同样的过程

问题1:在网络传输的过程当中,会出现报文丢失这一种情况,因为IP协议只是一个尽力而为的协议,那这种情况怎么处理?

方案:在传输层提供俩种可供选择的协议,Tcp和Udp协议,其中Tcp协议可以检测和恢复报文丢失的错误!

问题2:客户端发送请求给服务器,服务器响应请求的时候,怎么识别是我当前的客户端,然后响应内容?

解答:一开始我们是去访问DNS服务器的时候,会获取到相应的服务器ip以及相应的相关信息,也就是在tcp头里面含有我当前的ip,端口号相应的信息,还有相应的要请求的服务器的ip以及相关信息!

为啥tcp协议能够做到可靠传输?

1.三次握手与四次挥手

举例:

三次握手:俩个好盆友很久没见,隔50米远的距离,俩个人看到了彼此,A向B打了个招呼(syn),B收到之后,也向A先微笑表示收到,然后打了一个招呼作为回应(ack+syn),然后A收到之后,便再次确认(ack),之后双方相互走近,拥抱在一起!

——-------------------就好比传输层---》物理层,再从物理层-----》传输层

四次挥手:A与B要离别了,A向B打了一个招呼(fin)表示我要走了,B收到A的招呼(发了一个ack表示自己已经知道了,但是B在哭泣),这个时候A还在原地等待,不好意思走,直到B哭完了,之后向A发了一个(fin)表示A可以走了,然后A再发送一个ack表示自己知道了!然后等会(wait)A离开!

——-------------------为啥会存在四次挥手,因为服务器要先等把已有的连接处理完,才可以关闭

参考的链接:https://blog.csdn.net/bntX2jSQfEHy7/article/details/80837422

猜你喜欢

转载自blog.csdn.net/weixin_41247813/article/details/82865264
今日推荐