Nginx 的配置文件中 http 模块有关于 keepalive 的一些字段,这里的 keepalive 表示的是 HTTP1.1 的长连接。
长连接
HTTP/1.0 性能上的一个很大的问题,那就是每发起一个请求,都要新建一次 TCP 连接(三次握手),而且是串行请求,做了无谓的 TCP 连接建立和断开,增加了通信开销。
为了解决上述 TCP 连接问题,HTTP/1.1 提出了长连接的通信方式,也叫持久连接。这种方式的好处在于减少了 TCP 连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。
持久连接的特点是,只要任意一端没有明确提出断开连接,则保持 TCP 连接状态
Nginx 的配置文件
worker_processes 1;
events {
worker_connections 1024;
}
# http 模块
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
# 当进行TCP连接后,如果在 65s 内没有活动,则关闭长连接
# 即在点击一个链接后,在65s内没有点击另一个链接,则会关闭当前TCP连接
# 如果在65s内点击了其它链接,则会复用当前的TCP连接,不用进行三次握手
keepalive_t