HTTP只使用TCP传输,从来不会使用UDP传输。
也许绝大多数的读者都知道了这一点,但是类似这样的问题还会不断的涌现。为了更好地科普这个话题,还是要用最简单的语言来进行描述。
UDP
UDP的英文是“User Datagram Protocol”, 翻译成“用户数据报协议”。理解这个传输协议,先要真正理解黄色加亮部分的真实含义。通俗地说,就是把用户要发送的完整信息,当做(封装)一封信来邮递。只要用户(HTTP)写好收件人地址(目的IP)、收件人姓名(目的端口),把信扔进UDP邮筒里,大概率是可以到达收件人的手中的。
但是,万一到达不了怎么办呢?
其实,你没有什么好的办法来判断到还是没到。如果你收到对方的回信,那么信应该到达了。如果没有收到回信,那就代表信没有到达对方手里吗?
不一定吧,也许对方收到你的信,并且回信了,但是回信在返回的路上丢了。比如装信的集装箱掉进海里了。还有可能你的信在去的路上已经丢了,对方压根无法收到。
解决这个问题很好办,用户凭历史经验,一封信往返的时间最多不会超过7天。如果7天依然没有收到对方的回信,那么就默认对方没有收到,再发一封一模一样的信。如果等待14天还没有收到回信,那么就再发一封,再次等待28天。如果多次的尝试依然没有收到回信,那就放弃吧,对方可能被马斯克移民其它星球上去了。
udp丢包率高怎么办_HTTP 是基于 TCP 还是 UDP 的?
最新推荐文章于 2023-07-19 10:22:46 发布