TCP 协议是否也像 HTTP 协议那样处理 cookie?

Do TCP protocol also deal with cookies as HTTP protocol do?

我打算在我的项目中使用 php 套接字。它需要用户登录才能根据会话填充内容。所以我的问题是 TCP/IP 协议也 send/receive 每个请求的 cookie 作为 HTTP 协议做或不做我必须自己实现 cookie 系统。我的项目不依赖于浏览器,它就像一个应用程序,将通过套接字进行通信。

谁能用通俗易懂的话解释一下?

提前致谢。

HTTP 是嵌套在 TCP 负载中的应用程序协议。如果您想使用原始 TCP,您可以设计自己的通信方案。由于您询问有关 cookie 的信息,因此您可能需要一些坚持。 cookie 以 HTTP headers 的形式实现。您仍然可以在不涉及浏览器的情况下使用 HTTP。这样您就可以利用许多 HTTP 服务器和 server-side 脚本语言。

So my question is that TCP/IP protocol also send/receive cookies for each and every request as HTTP protocol do

没有。 Cookie 由 HTTP 协议定义。其他一些协议也有类似的概念,但 TCP 本身没有任何等价物。 TCP 实际上也没有 "request" 的概念;只有一个连接,数据流过它。

(TCP 确实有一个称为 SYN cookies 的特性,但这与 HTTP cookie 完全无关。)

您可能要考虑使用 WebSockets 协议。 WebSockets 在 HTTP 上运行,因此可以利用 HTTP 的一些功能,包括 cookie。

Cookie 仅在应用层 (http) 上实现。在 tcp 中不需要这样的 cookie,因为对于每个 tcp 连接,都存在一个由客户端 ip 和端口号、服务器 ip 和端口号组成的元组套接字对。这些套接字对是唯一的,并且唯一地确定客户端。然而,http 并没有通过,因为 http 不维护客户端 ip 地址或客户端端口号等的记录......http 的唯一目的是为客户端提供服务。所以为了唯一定义客户端,http使用了cookies和session ID。这有助于 http 找出客户端发送数据的目的并相应地提供服务。