HTTP短连接
建立TCP -> 请求资源 -> 响应资源 -> 释放连接
一次连接只能请求一次资源
HTTP长连接
使用同一个TCP连接来发送和接收多个HTTP请求 / 应答,避免了连接建立和释放的开销
长连接特点
只要任意一端没有明确提出断开连接,则保持TCP连接状态
使用HTTP的Keep-Alive
● 在HTTP 1.0中默认是关闭的,如果浏览器要开启Keep-Alive,必须在请求头中添加Connection:Keep-Alive,当服务器收到请求,作出响应的时候,也会添加一个头在响应中Connection:Keep-Alive
● HTTP1.1开始,默认就是长连接,开启了Keep-Alive,头部添加Connection:close
⚠️ 优点
减少了TCP连接资源的开销,给HTTP流水线提供了可实现的基础
⚠️ 断开
比如设置了 HTTP 长连接的超时时间是 60 秒,web 服务软件就会启动一个定时器,如果客户端在完后一个 HTTP 请求后,在 60 秒内都没有再发起新的请求,定时器的时间一到,就会触发回调函数来释放该连接。