HTTP协议的持久连接-"keep-alive"与"persistent"

目录

前言


“keep-alive”

概述

  HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议);当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。

优点

  可以看出keep-alive减小了连接的开销,时间有所缩短。

主要参数



“persistent”

  “keep-alive”主要用于HTTP1.0及以前的协议,新协议应使用”persistent”(保持对”keep-alive”的支持)。
  HTTP1.0中默认是关闭的,需要在http头加入”Connection:Keep-Alive”,才能启用Keep-Alive;HTTP1.1中默认启用Keep-Alive,如果加入”Connection:close”,才关闭。目前大部分浏览器都是用HTTP1.1协议,也就是说默认都会发起Keep-Alive的连接请求了,所以是否能完成一个完整的Keep- Alive连接就看服务器设置情况。