在浏览器请求网页之前,需要建立TCP连接。 3路握手与服务器计算机交互的必要性是什么?为什么我们不能简单地发送Web请求并等待响应?
为此目的,IP地址的解析不应该足够吗?
基本上,我需要知道建立TCP连接的原因。
提前致谢
答案 0 :(得分:1)
您正在使用名为A的设备,而服务器名为B
主机A向主机B发送TCP SYNchronize数据包
主机B收到A的SYN
主机B发送SYNchronize-acknowledge
主机A接收B的SYN-ACK
主机A发送确认
主机B收到ACK。 TCP套接字连接是ESTABLISHED。
答案 1 :(得分:1)
因为您需要TCP连接来发送HTTP,并且TCP具有3次握手。
基本上,我需要知道建立TCP连接的原因。
因为HTTP在TCP上运行。它不存在于真空中。
答案 2 :(得分:0)
TCP提供排序,自动重传和拥塞控制。我说这些是设计采用TCP的明显原因。
相反,例如UDP很快。没有握手。但UDP数据包没有排序,数据包也可能丢失(没有自动重传),也没有拥塞控制。
您可以尝试在UDP中使用HTML等实现数据传输。这并不容易,您仍然需要重新发明订购和重传,以实现可靠的无损交付。
如果您不关心有损或有点无序转移,那么您可能不需要TCP。 (例如实时视频)
-
另一方面,避免TCP获得更好的性能并不一定是个坏主意。阅读QUIC。 (它还具有丢失恢复和拥塞控制等功能,您不应期望它非常轻便。)