众所周知,HTTP是无状态协议,意味着它会在每次交易结束后断开连接。
但这对我来说还不够理解。是什么让我感到困惑, TCP连接是否也结束了?
由于HTTP是TCP网络协议,因此它通过TCP管道与其他节点通信。那么stateless
是否意味着TCP connection also ends
?
那么,它将通过使用另一个TCP 3路握手来建立另一个TCP连接?
答案 0 :(得分:0)
协议无状态的原因是服务器不需要跟踪多个请求的状态,而不是如果它想要的话也不能这样做。这简化了客户端和服务器之间的契约,并且在许多情况下最小化了需要传输的数据量。并且Internet是无状态开发环境“经常使用。这仅仅意味着作为主干的HTTP Web无法保留连接到Web站点的每个客户端的身份的内存,因此将每个Web页面请求视为唯一且独立的连接,与之前的连接没有任何关系它
答案 1 :(得分:0)
众所周知,HTTP是无状态协议,意味着它会在每次事务结束后断开连接。
不,我们都不知道这完全意味着:不,根本不是意味着什么;不,它根本不会这样做。
是什么让我感到困惑,TCP连接是否也结束了?
当HTTP连接结束时,TCP连接结束。
由于HTTP是TCP网络协议,因此它通过TCP管道与其他节点通信。
正确。
那么无状态意味着TCP连接也会结束吗?
没有。 HTTP和TCP连接可以是持久的,默认情况下它们来自HTTP 1.1(以前通过所谓的KEEPALIVE功能)。这与无国籍状态无关。
那么,它将使用另一个TCP 3路握手来建立另一个TCP连接吗?
是的,只要有需要,但这并不像你想象的那样频繁。您正在混淆HTTP的两个不同方面。