gpt4 book ai didi

sockets - websockets 在 TCP/IP 和 HTTP 方面是如何工作的?

转载 作者:行者123 更新时间:2023-12-03 11:59:52 25 4
gpt4 key购买 nike

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

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

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

Websocket 使用 TCP 层进行通信,客户端和服务器之间的连接是通过 HTTP 建立的,这称为握手过程。

websockets有自己的协议(protocol)吗?当您需要 TCP 执行 HTTP 请求时,如何发送 http 请求(握手过程)来建立 TCP/IP。我知道我在这里遗漏了一些非常重要的东西,如果能加深我对这些协议(protocol)的理解,那就太好了!

最佳答案

首先,连接所有网络不一定需要IP。但是,它是当今最广泛使用和采用的(目前是这样)。 Appletalk、IPX 和 DECNet 等旧网络协议(protocol)都是不再使用的旧网络协议(protocol),但它们在一定程度上仍然存在。不要忘记 IPv6 在某些地方也存在,如果您的配置正确完成,它可以跨越 IPv4 网络。

当你说 TCP 是“安全的”时,我会给它另一个词,那就是智能。 TCP 是一种传输协议(protocol),是紧接在 IPv4 header 之后的 header 。 TCP 主要用于流量控制,并且在错误恢复方面变得非常有效,以防在传输/接收时数据包的一部分或数据包是最后一个。虽然这对某些事务非常有用,但错误控制需要数据包中的额外开销。某些应用程序,例如 VoIP,对延迟、抖动(延迟变化)和拥塞非常敏感。这就是它使用UDP的原因。

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

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

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

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

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

现在,如果服务器正在监听,并且/或者没有防火墙阻止该服务(在这种情况下,您很可能会从服务器收到一个设置了 RST、ACK 位的 TCP 帧),服务器将响应同步确认:

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

如果客户端收到这个数据包,他将确认他收到了它。这完成了三次握手,这两个可以开始交换信息。

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

这是一些信息的好网站:

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

关于sockets - websockets 在 TCP/IP 和 HTTP 方面是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35338527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com