我打算在我的项目中使用php socket。它需要用户登录才能根据会话填充内容。所以我的问题是,TCP / IP协议也会为HTTP协议发送/接收每个请求的cookie,或者我不需要自己实现cookie系统。我的项目不依赖于浏览器,它就像一个通过套接字进行通信的应用程序。
谁能用简单的话来解释?
提前致谢。
所以我的问题是TCP / IP协议也像HTTP协议那样为每个请求发送/接收cookie
否.Cookie由HTTP协议定义。其他一些协议也有类似的概念,但TCP本身没有任何等价物。 TCP实际上也没有“请求”的概念;只有一个连接,数据流过它。
(TCP确实有一个称为SYN cookies的功能,但这与HTTP cookie完全无关。)
您可能需要考虑使用WebSockets协议。 WebSockets通过HTTP运行,因此可以利用HTTP的一些功能,包括cookie。
HTTP是嵌套在TCP有效负载中的应用程序协议。如果要使用原始TCP,可以设计自己的通信方案。既然你问起cookie,你可能需要一些持久性。 Cookie实现为HTTP标头。您仍然可以在不涉及浏览器的情况下使用HTTP。这样,您可以利用许多HTTP服务器和服务器端脚本语言。
Cookie仅在应用程序层(http)上实现。在tcp中不需要cookie,因为对于每个tcp连接,都会退出由客户端IP和端口号,服务器IP和端口号组成的元组套接字对。这些套接字对是唯一的,并且唯一地确定客户端。然而同样不是通过http,因为http不维护客户端IP地址或客户端端口号等记录...只有http的目的是为客户端服务。因此,为了唯一地定义客户端,http使用cookie和会话ID。这有助于http找出客户发送的数据的目的并相应地提供服务。