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

时间:2018-06-03 23:17:58

标签: php sockets tcp tcp-ip php-socket

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

任何人都可以用简单的词语解释吗?

提前致谢。

3 个答案:

答案 0 :(得分:1)

HTTP是嵌套在TCP有效负载中的应用程序协议。如果要使用原始TCP,可以设计自己的通信方案。既然你问起cookie,你可能需要一些持久性。 Cookie实现为HTTP标头。您仍然可以在不涉及浏览器的情况下使用HTTP。这样,您可以利用许多HTTP服务器和服务器端脚本语言。

答案 1 :(得分:0)

  

所以我的问题是TCP / IP协议也会像HTTP协议那样为每个请求发送/接收cookie

没有。 Cookie由HTTP协议定义。其他一些协议也有类似的概念,但TCP本身没有任何等价物。 TCP并没有真正有一个"请求"的概念。要么;只有一个连接,数据流过它。

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

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

答案 2 :(得分:0)

Cookie仅在应用程序层(http)上实现。不需要在tcp中使用cookie,因为对于每个tcp连接,都存在一个由客户端ip和端口号,服务器ip和端口号组成的元组套接字对。这些套接字对是唯一的,并且唯一地确定客户端。但是,http不能通过HTTP来完成,因为http不会维护客户端ip地址或客户端端口号等的记录。http的唯一用途是为客户端提供服务。因此,为了唯一定义客户端,http使用cookie和会话ID。这有助于http弄清客户端发送的数据的用途并相应地提供服务。