首页 文章

websockets如何在TCP / IP和HTTP方面工作?

提问于
浏览
0

大家好,我是新手,了解网络上使用的协议,需要一些帮助来理解websockets,TCP / IP和HTTP的基础知识 .

我对TCP / IP和HTTP之间关系的理解是,连接所有网络都需要IP . TCP是一种允许我们安全传输数据的机制,利用TCP传输数据的HTTP是Web服务器和客户端使用的特定协议 .

这是否意味着您无法在没有TCP的情况下发送HTTP请求?

Websockets使用TCP层进行通信,客户端和服务器之间的连接通过HTTP Build ,这称为握手过程 .

websockets是否有自己的协议?当您需要TCP执行HTTP请求时,如何发送http请求(握手过程)来 Build TCP / IP . 我知道我在这里遗漏了一些非常重要的东西,并且很高兴让我对这些协议的理解更加清晰!

1 回答

  • 1

    首先,不一定要求IP连接所有网络 . 然而,它是今天使用最广泛的(现在也是如此) . 诸如Appletalk,IPX和DECNet之类的旧网络协议都是传统网络协议,不再使用它们,但它们仍然存在一定程度 . 不要忘记在某些地方也存在IPv6,如果配置正确,可以通过IPv4网络 .

    当你说TCP是“安全的”时,我会再说一遍,这将是聪明的 . TCP是一种传输协议,是直接位于IPv4标头之后的标头 . TCP主要用于流量控制,并且在传输/接收传输/接收时,一部分数据包或数据包已经存在,因此在错误恢复方面变得非常有效 . 虽然这对某些事务很有用,但错误控制需要在数据包中增加额外的开销 . 有些应用程序,例如VoIP,对延迟,抖动(延迟变化)和拥塞非常敏感 . 这就是它使用UDP的原因 .

    与TCP一样,UDP是传输协议,但是没有流控制 . 可以这样想:当通过TCP发送数据包时,就像问另一端是否收到了你的消息 . 如果他们这样做,他们会承认 . 如果没有,您现在必须确定如何重新发送此信息 . UDP没有这个 . 你把你的信息发送到另一方,并希望它到达那里 .

    现在,如果您想谈论“安全”协议,通常可以在网络层(IPSec)或应用层(SSL)上完成 . 安全通常意味着安全 .

    通常的TCP三次握手如下所示:

    发送SYN的人是客户端 . 收到初始SYN的是服务器 .

    客户端发送SYN - >服务器

    现在,如果服务器正在侦听,和/或没有防火墙阻止该服务(在这种情况下,您将从具有RST的服务器接收TCP帧,最可能设置ACK位),服务器将响应SYN-ACK:

    服务器发送SYN / ACK - >客户端

    如果客户收到这个包,他会承认他收到了 . 这样就完成了三次握手,这两者可以开始交换信息 .

    客户端发送ACK - >服务器

    这里有一些信息的好网站:

    http://www.tcpipguide.com/free/index.htm

相关问题