在此维基百科文章,其中内容如下:
在 HTTP 1.1 中,除非另有声明,所有连接都被视为持久连接。
我认为这句话的意思是,当客户端发出请求消息时,没有必要在其中包含以下标头:Connection: keep-alive
。如果我想声明其他内容,我会在其中包含以下标头:Connection: close
。
我对么?
答案1
没错。默认的 HTTP/1.1 行为是假设所有连接都应保持打开状态,并由客户端决定是否关闭它。
相比之下,当Connection: close
设置了标头时,服务器一旦完成发送所有请求的内容,就会 FIN 连接,使服务器而不是客户端进入 TIME-WAIT 状态。