看到有篇帖子 有关 http 的以下介绍,有几个疑问, 1 HTTP 是一个无状态的面向连接的协议 这个连接是知的 TCP 连接吗? 2 保持连接性 是指的保持 TCP 连接吗? 3 HTTP 两次不同的请求 第一次请求之后,服务器端立即关闭连接、释放资源 这里的关闭连接 是指关闭哪个链接?如果此时 Connection: keep-alive 呢?
无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。从另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系 HTTP 是一个无状态的面向连接的协议,无状态不代表 HTTP 不能保持 TCP 连接,更不能代表 HTTP 使用的是 UDP 协议(无连接) 从 HTTP/1.1 起,默认都开启了 Keep-Alive,保持连接特性,简单地说,当一个网页打开完成后,客户端和服务器之间用于传输 HTTP 数据的 TCP 连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接 Keep-Alive 不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如 Apache)中设定这个时间